@remix-run/ui 0.2.0 → 0.4.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 (395) hide show
  1. package/README.md +50 -164
  2. package/dist/accordion/index.d.ts +46 -0
  3. package/dist/accordion/index.js +142 -0
  4. package/dist/accordion/index.js.map +1 -0
  5. package/dist/accordion/primitives.d.ts +104 -0
  6. package/dist/accordion/primitives.js +312 -0
  7. package/dist/accordion/primitives.js.map +1 -0
  8. package/dist/{components/anchor/anchor.d.ts → anchor/index.d.ts} +8 -1
  9. package/dist/{components/anchor/anchor.js → anchor/index.js} +31 -12
  10. package/dist/anchor/index.js.map +1 -0
  11. package/dist/animation/demos/aspect-ratio.d.ts +2 -0
  12. package/dist/animation/demos/aspect-ratio.js +69 -0
  13. package/dist/animation/demos/aspect-ratio.js.map +1 -0
  14. package/dist/animation/demos/bouncy-switch.d.ts +2 -0
  15. package/dist/animation/demos/bouncy-switch.js +36 -0
  16. package/dist/animation/demos/bouncy-switch.js.map +1 -0
  17. package/dist/animation/demos/color-interpolation.d.ts +1 -0
  18. package/dist/animation/demos/color-interpolation.js +53 -0
  19. package/dist/animation/demos/color-interpolation.js.map +1 -0
  20. package/dist/animation/demos/cube.d.ts +2 -0
  21. package/dist/animation/demos/cube.js +86 -0
  22. package/dist/animation/demos/cube.js.map +1 -0
  23. package/dist/animation/demos/default-animate.d.ts +2 -0
  24. package/dist/animation/demos/default-animate.js +89 -0
  25. package/dist/animation/demos/default-animate.js.map +1 -0
  26. package/dist/animation/demos/drag-release.d.ts +24 -0
  27. package/dist/animation/demos/drag-release.js +96 -0
  28. package/dist/animation/demos/drag-release.js.map +1 -0
  29. package/dist/animation/demos/enter.d.ts +1 -0
  30. package/dist/animation/demos/enter.js +19 -0
  31. package/dist/animation/demos/enter.js.map +1 -0
  32. package/dist/animation/demos/exit.d.ts +2 -0
  33. package/dist/animation/demos/exit.js +58 -0
  34. package/dist/animation/demos/exit.js.map +1 -0
  35. package/dist/animation/demos/flip-toggle.d.ts +2 -0
  36. package/dist/animation/demos/flip-toggle.js +37 -0
  37. package/dist/animation/demos/flip-toggle.js.map +1 -0
  38. package/dist/animation/demos/hold-to-confirm.d.ts +13 -0
  39. package/dist/animation/demos/hold-to-confirm.js +211 -0
  40. package/dist/animation/demos/hold-to-confirm.js.map +1 -0
  41. package/dist/animation/demos/html-content.d.ts +2 -0
  42. package/dist/animation/demos/html-content.js +30 -0
  43. package/dist/animation/demos/html-content.js.map +1 -0
  44. package/dist/animation/demos/interruptible-keyframes.d.ts +1 -0
  45. package/dist/animation/demos/interruptible-keyframes.js +48 -0
  46. package/dist/animation/demos/interruptible-keyframes.js.map +1 -0
  47. package/dist/animation/demos/keyframes.d.ts +1 -0
  48. package/dist/animation/demos/keyframes.js +24 -0
  49. package/dist/animation/demos/keyframes.js.map +1 -0
  50. package/dist/animation/demos/material-ripple.d.ts +2 -0
  51. package/dist/animation/demos/material-ripple.js +127 -0
  52. package/dist/animation/demos/material-ripple.js.map +1 -0
  53. package/dist/animation/demos/mixin-presence-list.d.ts +2 -0
  54. package/dist/animation/demos/mixin-presence-list.js +88 -0
  55. package/dist/animation/demos/mixin-presence-list.js.map +1 -0
  56. package/dist/animation/demos/mixin-reclaim.d.ts +2 -0
  57. package/dist/animation/demos/mixin-reclaim.js +90 -0
  58. package/dist/animation/demos/mixin-reclaim.js.map +1 -0
  59. package/dist/animation/demos/multi-state-badge.d.ts +2 -0
  60. package/dist/animation/demos/multi-state-badge.js +231 -0
  61. package/dist/animation/demos/multi-state-badge.js.map +1 -0
  62. package/dist/animation/demos/press.d.ts +2 -0
  63. package/dist/animation/demos/press.js +63 -0
  64. package/dist/animation/demos/press.js.map +1 -0
  65. package/dist/animation/demos/reordering.d.ts +2 -0
  66. package/dist/animation/demos/reordering.js +53 -0
  67. package/dist/animation/demos/reordering.js.map +1 -0
  68. package/dist/animation/demos/rolling-square.d.ts +2 -0
  69. package/dist/animation/demos/rolling-square.js +42 -0
  70. package/dist/animation/demos/rolling-square.js.map +1 -0
  71. package/dist/animation/demos/rotate.d.ts +1 -0
  72. package/dist/animation/demos/rotate.js +18 -0
  73. package/dist/animation/demos/rotate.js.map +1 -0
  74. package/dist/animation/demos/shared-layout.d.ts +2 -0
  75. package/dist/animation/demos/shared-layout.js +114 -0
  76. package/dist/animation/demos/shared-layout.js.map +1 -0
  77. package/dist/animation/demos/transition-options.d.ts +1 -0
  78. package/dist/animation/demos/transition-options.js +21 -0
  79. package/dist/animation/demos/transition-options.js.map +1 -0
  80. package/dist/animation/spring.d.ts +22 -0
  81. package/dist/animation/spring.js +22 -0
  82. package/dist/animation/spring.js.map +1 -1
  83. package/dist/{components/breadcrumbs/breadcrumbs.js → breadcrumbs/index.js} +19 -19
  84. package/dist/breadcrumbs/index.js.map +1 -0
  85. package/dist/button/index.d.ts +15 -0
  86. package/dist/button/index.js +128 -0
  87. package/dist/button/index.js.map +1 -0
  88. package/dist/checkbox/index.d.ts +14 -0
  89. package/dist/checkbox/index.js +125 -0
  90. package/dist/checkbox/index.js.map +1 -0
  91. package/dist/combobox/index.d.ts +21 -0
  92. package/dist/combobox/index.js +58 -0
  93. package/dist/combobox/index.js.map +1 -0
  94. package/dist/{components/combobox/combobox.d.ts → combobox/primitives.d.ts} +3 -7
  95. package/dist/{components/combobox/combobox.js → combobox/primitives.js} +8 -61
  96. package/dist/combobox/primitives.js.map +1 -0
  97. package/dist/input/index.d.ts +13 -0
  98. package/dist/input/index.js +121 -0
  99. package/dist/input/index.js.map +1 -0
  100. package/dist/listbox/flash-attribute.js.map +1 -0
  101. package/dist/{components/listbox/listbox.d.ts → listbox/index.d.ts} +2 -6
  102. package/dist/{components/listbox/listbox.js → listbox/index.js} +4 -82
  103. package/dist/listbox/index.js.map +1 -0
  104. package/dist/menu/hover-aim.js.map +1 -0
  105. package/dist/menu/index.d.ts +42 -0
  106. package/dist/menu/index.js +250 -0
  107. package/dist/menu/index.js.map +1 -0
  108. package/dist/{components/menu/menu.d.ts → menu/primitives.d.ts} +6 -32
  109. package/dist/{components/menu/menu.js → menu/primitives.js} +117 -279
  110. package/dist/menu/primitives.js.map +1 -0
  111. package/dist/{components/popover/popover.d.ts → popover/index.d.ts} +3 -5
  112. package/dist/{components/popover/popover.js → popover/index.js} +15 -51
  113. package/dist/popover/index.js.map +1 -0
  114. package/dist/{interactions/outside-click/outside-click-mixin.js → popover/outside-click.js} +1 -1
  115. package/dist/popover/outside-click.js.map +1 -0
  116. package/dist/popover/scroll-lock.d.ts +1 -0
  117. package/dist/{utils → popover}/scroll-lock.js +0 -18
  118. package/dist/popover/scroll-lock.js.map +1 -0
  119. package/dist/radio/index.d.ts +12 -0
  120. package/dist/radio/index.js +77 -0
  121. package/dist/radio/index.js.map +1 -0
  122. package/dist/runtime/client-entries.d.ts +1 -2
  123. package/dist/runtime/client-entries.js.map +1 -1
  124. package/dist/runtime/component.d.ts +2 -2
  125. package/dist/runtime/component.js +1 -1
  126. package/dist/runtime/component.js.map +1 -1
  127. package/dist/runtime/diff-dom.js +194 -21
  128. package/dist/runtime/diff-dom.js.map +1 -1
  129. package/dist/runtime/frame.d.ts +7 -0
  130. package/dist/runtime/frame.js +176 -41
  131. package/dist/runtime/frame.js.map +1 -1
  132. package/dist/runtime/jsx.d.ts +2 -3
  133. package/dist/runtime/jsx.js.map +1 -1
  134. package/dist/runtime/reconcile.js +11 -5
  135. package/dist/runtime/reconcile.js.map +1 -1
  136. package/dist/runtime/vdom.js +3 -0
  137. package/dist/runtime/vdom.js.map +1 -1
  138. package/dist/select/index.d.ts +19 -0
  139. package/dist/select/index.js +95 -0
  140. package/dist/select/index.js.map +1 -0
  141. package/dist/select/keydown.js.map +1 -0
  142. package/dist/{components/select/select.d.ts → select/primitives.d.ts} +4 -6
  143. package/dist/{components/select/select.js → select/primitives.js} +12 -64
  144. package/dist/select/primitives.js.map +1 -0
  145. package/dist/server/stream.js +5 -4
  146. package/dist/server/stream.js.map +1 -1
  147. package/dist/shared/focus-styles.d.ts +1 -0
  148. package/dist/shared/focus-styles.js +2 -0
  149. package/dist/shared/focus-styles.js.map +1 -0
  150. package/dist/shared/icons.d.ts +9 -0
  151. package/dist/shared/icons.js +42 -0
  152. package/dist/shared/icons.js.map +1 -0
  153. package/dist/shared/listbox-popover-styles.d.ts +6 -0
  154. package/dist/shared/listbox-popover-styles.js +137 -0
  155. package/dist/shared/listbox-popover-styles.js.map +1 -0
  156. package/dist/shared/style-values.d.ts +78 -0
  157. package/dist/{theme/presets/rmx-01/index.js → shared/style-values.js} +3 -34
  158. package/dist/shared/style-values.js.map +1 -0
  159. package/dist/{interactions/typeahead/typeahead-mixin.js → shared/typeahead.js} +1 -1
  160. package/dist/shared/typeahead.js.map +1 -0
  161. package/dist/shared/wait-for-css-transition.js.map +1 -0
  162. package/dist/shared/wait.js.map +1 -0
  163. package/dist/style/style.js +27 -10
  164. package/dist/style/style.js.map +1 -1
  165. package/dist/tabs/index.d.ts +32 -0
  166. package/dist/tabs/index.js +157 -0
  167. package/dist/tabs/index.js.map +1 -0
  168. package/dist/tabs/primitives.d.ts +57 -0
  169. package/dist/tabs/primitives.js +238 -0
  170. package/dist/tabs/primitives.js.map +1 -0
  171. package/dist/toggle/index.d.ts +9 -0
  172. package/dist/toggle/index.js +108 -0
  173. package/dist/toggle/index.js.map +1 -0
  174. package/dist/toggle/primitives.d.ts +29 -0
  175. package/dist/toggle/primitives.js +127 -0
  176. package/dist/toggle/primitives.js.map +1 -0
  177. package/package.json +74 -45
  178. package/src/{components/accordion → accordion}/README.md +50 -14
  179. package/src/accordion/index.tsx +285 -0
  180. package/src/accordion/primitives.tsx +512 -0
  181. package/src/{components/anchor → anchor}/README.md +48 -5
  182. package/src/{components/anchor/anchor.ts → anchor/index.ts} +53 -12
  183. package/src/animation/demos/aspect-ratio.tsx +120 -0
  184. package/src/animation/demos/bouncy-switch.tsx +47 -0
  185. package/src/animation/demos/color-interpolation.tsx +73 -0
  186. package/src/animation/demos/cube.tsx +116 -0
  187. package/src/animation/demos/default-animate.tsx +129 -0
  188. package/src/animation/demos/drag-release.ts +118 -0
  189. package/src/animation/demos/enter.tsx +22 -0
  190. package/src/animation/demos/exit.tsx +79 -0
  191. package/src/animation/demos/flip-toggle.tsx +46 -0
  192. package/src/animation/demos/hold-to-confirm.tsx +317 -0
  193. package/src/animation/demos/html-content.tsx +41 -0
  194. package/src/animation/demos/interruptible-keyframes.tsx +62 -0
  195. package/src/animation/demos/keyframes.tsx +29 -0
  196. package/src/animation/demos/material-ripple.tsx +158 -0
  197. package/src/animation/demos/mixin-presence-list.tsx +121 -0
  198. package/src/animation/demos/mixin-reclaim.tsx +125 -0
  199. package/src/animation/demos/multi-state-badge.tsx +426 -0
  200. package/src/animation/demos/press.tsx +67 -0
  201. package/src/animation/demos/reordering.tsx +68 -0
  202. package/src/animation/demos/rolling-square.tsx +57 -0
  203. package/src/animation/demos/rotate.tsx +21 -0
  204. package/src/animation/demos/shared-layout.tsx +211 -0
  205. package/src/animation/demos/transition-options.tsx +24 -0
  206. package/src/animation/spring.ts +22 -0
  207. package/src/{components/breadcrumbs → breadcrumbs}/README.md +4 -4
  208. package/src/{components/breadcrumbs/breadcrumbs.tsx → breadcrumbs/index.tsx} +18 -18
  209. package/src/button/README.md +44 -0
  210. package/src/button/index.ts +168 -0
  211. package/src/checkbox/README.md +59 -0
  212. package/src/checkbox/index.ts +162 -0
  213. package/src/{components/combobox → combobox}/README.md +58 -9
  214. package/src/combobox/index.tsx +112 -0
  215. package/src/{components/combobox/combobox.tsx → combobox/primitives.tsx} +5 -91
  216. package/src/input/README.md +52 -0
  217. package/src/input/index.ts +147 -0
  218. package/src/{components/listbox → listbox}/README.md +9 -41
  219. package/src/{components/listbox/listbox.ts → listbox/index.ts} +2 -87
  220. package/src/menu/README.md +161 -0
  221. package/src/menu/index.tsx +354 -0
  222. package/src/{components/menu/menu.tsx → menu/primitives.tsx} +117 -359
  223. package/src/{components/popover → popover}/README.md +20 -39
  224. package/src/{components/popover/popover.ts → popover/index.ts} +16 -61
  225. package/src/{utils → popover}/scroll-lock.ts +0 -28
  226. package/src/radio/README.md +53 -0
  227. package/src/radio/index.ts +100 -0
  228. package/src/runtime/client-entries.ts +1 -5
  229. package/src/runtime/component.ts +3 -3
  230. package/src/runtime/demos/readme.demo.tsx +704 -0
  231. package/src/runtime/diff-dom.ts +270 -20
  232. package/src/runtime/frame.ts +218 -41
  233. package/src/runtime/jsx.ts +6 -10
  234. package/src/runtime/reconcile.ts +11 -5
  235. package/src/runtime/vdom.ts +3 -0
  236. package/src/{components/select → select}/README.md +29 -19
  237. package/src/select/index.tsx +159 -0
  238. package/src/{components/select/select.tsx → select/primitives.tsx} +11 -99
  239. package/src/server/stream.ts +10 -5
  240. package/src/shared/focus-styles.ts +2 -0
  241. package/src/shared/icons.tsx +62 -0
  242. package/src/shared/listbox-popover-styles.ts +146 -0
  243. package/src/shared/style-values.ts +165 -0
  244. package/src/style/style.ts +29 -10
  245. package/src/tabs/README.md +141 -0
  246. package/src/tabs/index.tsx +244 -0
  247. package/src/tabs/primitives.ts +365 -0
  248. package/src/toggle/README.md +56 -0
  249. package/src/toggle/index.tsx +134 -0
  250. package/src/toggle/primitives.ts +192 -0
  251. package/dist/components/accordion/accordion.d.ts +0 -92
  252. package/dist/components/accordion/accordion.js +0 -335
  253. package/dist/components/accordion/accordion.js.map +0 -1
  254. package/dist/components/accordion/demos/card.demo.d.ts +0 -6
  255. package/dist/components/accordion/demos/card.demo.js +0 -58
  256. package/dist/components/accordion/demos/card.demo.js.map +0 -1
  257. package/dist/components/accordion/demos/multiple.demo.d.ts +0 -6
  258. package/dist/components/accordion/demos/multiple.demo.js +0 -19
  259. package/dist/components/accordion/demos/multiple.demo.js.map +0 -1
  260. package/dist/components/accordion/demos/overview.demo.d.ts +0 -6
  261. package/dist/components/accordion/demos/overview.demo.js +0 -19
  262. package/dist/components/accordion/demos/overview.demo.js.map +0 -1
  263. package/dist/components/anchor/anchor.js.map +0 -1
  264. package/dist/components/breadcrumbs/breadcrumbs.js.map +0 -1
  265. package/dist/components/breadcrumbs/demos/basic.demo.d.ts +0 -5
  266. package/dist/components/breadcrumbs/demos/basic.demo.js +0 -14
  267. package/dist/components/breadcrumbs/demos/basic.demo.js.map +0 -1
  268. package/dist/components/breadcrumbs/demos/separator.demo.d.ts +0 -5
  269. package/dist/components/breadcrumbs/demos/separator.demo.js +0 -14
  270. package/dist/components/breadcrumbs/demos/separator.demo.js.map +0 -1
  271. package/dist/components/button/button.d.ts +0 -105
  272. package/dist/components/button/button.js +0 -207
  273. package/dist/components/button/button.js.map +0 -1
  274. package/dist/components/button/demos/aliases.demo.d.ts +0 -6
  275. package/dist/components/button/demos/aliases.demo.js +0 -18
  276. package/dist/components/button/demos/aliases.demo.js.map +0 -1
  277. package/dist/components/button/demos/basic.demo.d.ts +0 -6
  278. package/dist/components/button/demos/basic.demo.js +0 -19
  279. package/dist/components/button/demos/basic.demo.js.map +0 -1
  280. package/dist/components/button/demos/states.demo.d.ts +0 -6
  281. package/dist/components/button/demos/states.demo.js +0 -29
  282. package/dist/components/button/demos/states.demo.js.map +0 -1
  283. package/dist/components/combobox/combobox.js.map +0 -1
  284. package/dist/components/combobox/demos/overview.demo.d.ts +0 -6
  285. package/dist/components/combobox/demos/overview.demo.js +0 -153
  286. package/dist/components/combobox/demos/overview.demo.js.map +0 -1
  287. package/dist/components/glyph/glyph.d.ts +0 -14
  288. package/dist/components/glyph/glyph.js +0 -65
  289. package/dist/components/glyph/glyph.js.map +0 -1
  290. package/dist/components/listbox/demos/overview.demo.d.ts +0 -6
  291. package/dist/components/listbox/demos/overview.demo.js +0 -64
  292. package/dist/components/listbox/demos/overview.demo.js.map +0 -1
  293. package/dist/components/listbox/listbox.js.map +0 -1
  294. package/dist/components/menu/demos/bubbling.demo.d.ts +0 -5
  295. package/dist/components/menu/demos/bubbling.demo.js +0 -15
  296. package/dist/components/menu/demos/bubbling.demo.js.map +0 -1
  297. package/dist/components/menu/demos/overview.demo.d.ts +0 -6
  298. package/dist/components/menu/demos/overview.demo.js +0 -32
  299. package/dist/components/menu/demos/overview.demo.js.map +0 -1
  300. package/dist/components/menu/hover-aim.js.map +0 -1
  301. package/dist/components/menu/menu.js.map +0 -1
  302. package/dist/components/popover/demos/overview.demo.d.ts +0 -6
  303. package/dist/components/popover/demos/overview.demo.js +0 -64
  304. package/dist/components/popover/demos/overview.demo.js.map +0 -1
  305. package/dist/components/popover/popover.js.map +0 -1
  306. package/dist/components/select/demos/deconstructed.demo.d.ts +0 -6
  307. package/dist/components/select/demos/deconstructed.demo.js +0 -53
  308. package/dist/components/select/demos/deconstructed.demo.js.map +0 -1
  309. package/dist/components/select/demos/overview.demo.d.ts +0 -5
  310. package/dist/components/select/demos/overview.demo.js +0 -27
  311. package/dist/components/select/demos/overview.demo.js.map +0 -1
  312. package/dist/components/select/select.js.map +0 -1
  313. package/dist/components/separator/separator.d.ts +0 -2
  314. package/dist/components/separator/separator.js +0 -15
  315. package/dist/components/separator/separator.js.map +0 -1
  316. package/dist/components/tabs/tabs.d.ts +0 -78
  317. package/dist/components/tabs/tabs.js +0 -339
  318. package/dist/components/tabs/tabs.js.map +0 -1
  319. package/dist/interactions/keydown/keydown.js.map +0 -1
  320. package/dist/interactions/outside-click/outside-click-mixin.js.map +0 -1
  321. package/dist/interactions/typeahead/typeahead-mixin.js.map +0 -1
  322. package/dist/theme/contract.d.ts +0 -61
  323. package/dist/theme/contract.js +0 -131
  324. package/dist/theme/contract.js.map +0 -1
  325. package/dist/theme/glyph-contract.d.ts +0 -11
  326. package/dist/theme/glyph-contract.js +0 -34
  327. package/dist/theme/glyph-contract.js.map +0 -1
  328. package/dist/theme/presets/rmx-01/glyphs.d.ts +0 -2
  329. package/dist/theme/presets/rmx-01/glyphs.js +0 -252
  330. package/dist/theme/presets/rmx-01/glyphs.js.map +0 -1
  331. package/dist/theme/presets/rmx-01/index.d.ts +0 -4
  332. package/dist/theme/presets/rmx-01/index.js.map +0 -1
  333. package/dist/theme/runtime.d.ts +0 -2
  334. package/dist/theme/runtime.js +0 -84
  335. package/dist/theme/runtime.js.map +0 -1
  336. package/dist/theme/theme.d.ts +0 -6
  337. package/dist/theme/theme.js +0 -5
  338. package/dist/theme/theme.js.map +0 -1
  339. package/dist/utils/flash-attribute.js.map +0 -1
  340. package/dist/utils/scroll-lock.d.ts +0 -3
  341. package/dist/utils/scroll-lock.js.map +0 -1
  342. package/dist/utils/wait-for-css-transition.js.map +0 -1
  343. package/dist/utils/wait.js.map +0 -1
  344. package/src/components/accordion/accordion.tsx +0 -565
  345. package/src/components/accordion/demos/card.demo.tsx +0 -113
  346. package/src/components/accordion/demos/multiple.demo.tsx +0 -56
  347. package/src/components/accordion/demos/overview.demo.tsx +0 -56
  348. package/src/components/breadcrumbs/demos/basic.demo.tsx +0 -17
  349. package/src/components/breadcrumbs/demos/separator.demo.tsx +0 -18
  350. package/src/components/button/README.md +0 -44
  351. package/src/components/button/button.tsx +0 -286
  352. package/src/components/button/demos/aliases.demo.tsx +0 -27
  353. package/src/components/button/demos/basic.demo.tsx +0 -30
  354. package/src/components/button/demos/states.demo.tsx +0 -52
  355. package/src/components/combobox/demos/overview.demo.tsx +0 -199
  356. package/src/components/glyph/README.md +0 -72
  357. package/src/components/glyph/glyph.tsx +0 -110
  358. package/src/components/listbox/demos/overview.demo.tsx +0 -101
  359. package/src/components/menu/README.md +0 -96
  360. package/src/components/menu/demos/bubbling.demo.tsx +0 -34
  361. package/src/components/menu/demos/overview.demo.tsx +0 -76
  362. package/src/components/popover/demos/overview.demo.tsx +0 -143
  363. package/src/components/select/demos/deconstructed.demo.tsx +0 -95
  364. package/src/components/select/demos/overview.demo.tsx +0 -51
  365. package/src/components/separator/separator.ts +0 -19
  366. package/src/components/tabs/README.md +0 -105
  367. package/src/components/tabs/tabs.tsx +0 -504
  368. package/src/theme/README.md +0 -103
  369. package/src/theme/contract.ts +0 -215
  370. package/src/theme/glyph-contract.ts +0 -59
  371. package/src/theme/presets/rmx-01/glyphs.tsx +0 -308
  372. package/src/theme/presets/rmx-01/index.ts +0 -123
  373. package/src/theme/runtime.ts +0 -119
  374. package/src/theme/theme.ts +0 -15
  375. package/src/utils/scroll-lock/README.md +0 -33
  376. /package/dist/{components/breadcrumbs/breadcrumbs.d.ts → breadcrumbs/index.d.ts} +0 -0
  377. /package/dist/{utils → listbox}/flash-attribute.d.ts +0 -0
  378. /package/dist/{utils → listbox}/flash-attribute.js +0 -0
  379. /package/dist/{components/menu → menu}/hover-aim.d.ts +0 -0
  380. /package/dist/{components/menu → menu}/hover-aim.js +0 -0
  381. /package/dist/{interactions/outside-click/outside-click-mixin.d.ts → popover/outside-click.d.ts} +0 -0
  382. /package/dist/{interactions/keydown → select}/keydown.d.ts +0 -0
  383. /package/dist/{interactions/keydown → select}/keydown.js +0 -0
  384. /package/dist/{interactions/typeahead/typeahead-mixin.d.ts → shared/typeahead.d.ts} +0 -0
  385. /package/dist/{utils → shared}/wait-for-css-transition.d.ts +0 -0
  386. /package/dist/{utils → shared}/wait-for-css-transition.js +0 -0
  387. /package/dist/{utils → shared}/wait.d.ts +0 -0
  388. /package/dist/{utils → shared}/wait.js +0 -0
  389. /package/src/{utils → listbox}/flash-attribute.ts +0 -0
  390. /package/src/{components/menu → menu}/hover-aim.ts +0 -0
  391. /package/src/{interactions/outside-click/outside-click-mixin.ts → popover/outside-click.ts} +0 -0
  392. /package/src/{interactions/keydown → select}/keydown.ts +0 -0
  393. /package/src/{interactions/typeahead/typeahead-mixin.ts → shared/typeahead.ts} +0 -0
  394. /package/src/{utils → shared}/wait-for-css-transition.ts +0 -0
  395. /package/src/{utils → shared}/wait.ts +0 -0
@@ -0,0 +1,250 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@remix-run/ui/jsx-runtime";
2
+ import { createElement, css, ref } from '@remix-run/ui';
3
+ import button from '@remix-run/ui/button';
4
+ import * as menu from '@remix-run/ui/menu/primitives';
5
+ import { CheckIcon, ChevronDownIcon, ChevronRightIcon } from "../shared/icons.js";
6
+ import { popoverSurfaceStyle } from "../shared/listbox-popover-styles.js";
7
+ import { componentStyleValues as styles } from "../shared/style-values.js";
8
+ const menuButtonCss = css({
9
+ display: 'grid',
10
+ gridTemplateColumns: 'minmax(0, 1fr) auto',
11
+ alignItems: 'center',
12
+ borderRadius: styles.radius.md,
13
+ paddingInlineEnd: styles.space.sm,
14
+ textAlign: 'left',
15
+ '&[aria-expanded="true"], &[aria-expanded="true"]:hover, &[aria-expanded="true"]:focus-visible': {
16
+ backgroundColor: styles.surface.lvl3,
17
+ color: styles.colors.text.primary,
18
+ },
19
+ });
20
+ const menuButtonLabelCss = css({
21
+ display: 'inline-flex',
22
+ alignItems: 'center',
23
+ minWidth: 0,
24
+ });
25
+ const menuButtonIconCss = css({
26
+ display: 'inline-flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ width: styles.fontSize.md,
30
+ height: styles.fontSize.md,
31
+ color: 'currentColor',
32
+ flexShrink: 0,
33
+ '& > svg': {
34
+ display: 'block',
35
+ width: '100%',
36
+ height: '100%',
37
+ },
38
+ });
39
+ const menuPopoverCss = css({
40
+ '&[data-menu-submenu="true"][data-anchor-placement^="right"]': {
41
+ marginLeft: `calc(${styles.space.xs} * -1)`,
42
+ },
43
+ '&[data-menu-submenu="true"][data-anchor-placement^="left"]': {
44
+ marginLeft: styles.space.xs,
45
+ },
46
+ '&[data-close-animation="none"]:not(:popover-open)': {
47
+ transition: 'none',
48
+ transitionBehavior: 'normal',
49
+ },
50
+ });
51
+ const menuListCss = css({
52
+ display: 'flex',
53
+ flexDirection: 'column',
54
+ flex: '1 1 auto',
55
+ minHeight: 0,
56
+ paddingBlock: styles.space.xs,
57
+ paddingInline: styles.space.none,
58
+ overflow: 'auto',
59
+ overscrollBehavior: 'contain',
60
+ outline: 'none',
61
+ userSelect: 'none',
62
+ WebkitUserSelect: 'none',
63
+ '--rmx-ui-item-inset': `calc(${styles.space.sm} + ${styles.space.xs})`,
64
+ '--rmx-ui-item-indicator-gap': 'var(--rmx-menu-item-slot-gap)',
65
+ '--rmx-ui-item-indicator-width': 'var(--rmx-menu-item-slot-width)',
66
+ '--rmx-menu-item-slot-gap': styles.space.none,
67
+ '--rmx-menu-item-slot-width': styles.space.none,
68
+ '&:has(> [role="menuitemcheckbox"])': {
69
+ '--rmx-menu-item-slot-gap': styles.space.xs,
70
+ '--rmx-menu-item-slot-width': styles.fontSize.md,
71
+ },
72
+ '&:has(> [role="menuitemradio"])': {
73
+ '--rmx-menu-item-slot-gap': styles.space.xs,
74
+ '--rmx-menu-item-slot-width': styles.fontSize.md,
75
+ },
76
+ });
77
+ const menuItemCss = css({
78
+ display: 'flex',
79
+ alignItems: 'center',
80
+ width: '100%',
81
+ minWidth: 0,
82
+ minHeight: styles.control.height.md,
83
+ boxSizing: 'border-box',
84
+ position: 'relative',
85
+ isolation: 'isolate',
86
+ paddingInline: `calc(${styles.space.sm} + ${styles.space.xs})`,
87
+ color: styles.colors.text.primary,
88
+ fontFamily: styles.fontFamily.sans,
89
+ fontSize: styles.fontSize.sm,
90
+ fontWeight: styles.fontWeight.normal,
91
+ lineHeight: styles.lineHeight.normal,
92
+ textAlign: 'left',
93
+ userSelect: 'none',
94
+ WebkitUserSelect: 'none',
95
+ '--rmx-menu-item-indicator-opacity': '0',
96
+ '&::before': {
97
+ content: '""',
98
+ position: 'absolute',
99
+ insetBlock: 0,
100
+ insetInline: styles.space.xs,
101
+ borderRadius: styles.radius.md,
102
+ backgroundColor: 'transparent',
103
+ pointerEvents: 'none',
104
+ zIndex: -1,
105
+ },
106
+ '&:focus': {
107
+ outline: 'none',
108
+ },
109
+ '&[data-highlighted="true"]': {
110
+ color: styles.colors.action.primary.foreground,
111
+ },
112
+ '&[data-highlighted="true"]::before': {
113
+ backgroundColor: styles.colors.action.primary.background,
114
+ },
115
+ '&[aria-haspopup="menu"][aria-expanded="true"]:not(:focus)': {
116
+ color: styles.colors.text.primary,
117
+ },
118
+ '&[aria-haspopup="menu"][aria-expanded="true"]:not(:focus)::before': {
119
+ backgroundColor: styles.surface.lvl2,
120
+ },
121
+ '&[data-submenu-state="selecting"], &[data-submenu-state="dismissing"]': {
122
+ color: styles.colors.text.primary,
123
+ },
124
+ '&[data-submenu-state="selecting"]::before, &[data-submenu-state="dismissing"]::before': {
125
+ backgroundColor: styles.surface.lvl2,
126
+ },
127
+ '&[data-menu-flash="true"]': {
128
+ color: styles.colors.text.primary,
129
+ },
130
+ '&[data-menu-flash="true"]::before': {
131
+ backgroundColor: 'transparent',
132
+ },
133
+ '&[aria-disabled="true"]': {
134
+ opacity: 0.5,
135
+ },
136
+ '&[aria-checked="true"], &[aria-selected="true"]': {
137
+ '--rmx-menu-item-indicator-opacity': '1',
138
+ },
139
+ });
140
+ const menuItemSlotCss = css({
141
+ display: 'inline-flex',
142
+ alignItems: 'center',
143
+ justifyContent: 'center',
144
+ flex: '0 0 var(--rmx-menu-item-slot-width)',
145
+ width: 'var(--rmx-menu-item-slot-width)',
146
+ minWidth: 0,
147
+ marginInlineEnd: 'var(--rmx-menu-item-slot-gap)',
148
+ overflow: 'hidden',
149
+ });
150
+ const menuItemLabelCss = css({
151
+ display: 'inline-flex',
152
+ alignItems: 'center',
153
+ flex: '1 1 auto',
154
+ minWidth: 0,
155
+ });
156
+ const menuItemIndicatorCss = css({
157
+ display: 'inline-flex',
158
+ alignItems: 'center',
159
+ justifyContent: 'center',
160
+ width: styles.fontSize.md,
161
+ height: styles.fontSize.md,
162
+ color: 'currentColor',
163
+ flexShrink: 0,
164
+ '& > svg': {
165
+ display: 'block',
166
+ width: '100%',
167
+ height: '100%',
168
+ },
169
+ opacity: 'var(--rmx-menu-item-indicator-opacity)',
170
+ });
171
+ const menuTriggerIndicatorCss = css({
172
+ display: 'inline-flex',
173
+ alignItems: 'center',
174
+ justifyContent: 'center',
175
+ width: styles.fontSize.md,
176
+ height: styles.fontSize.md,
177
+ color: 'currentColor',
178
+ flexShrink: 0,
179
+ marginInlineStart: 'auto',
180
+ '& > svg': {
181
+ display: 'block',
182
+ width: '100%',
183
+ height: '100%',
184
+ },
185
+ });
186
+ export const buttonStyle = menuButtonCss;
187
+ export const popoverStyle = menuPopoverCss;
188
+ export const listStyle = menuListCss;
189
+ export const itemStyle = menuItemCss;
190
+ export const itemSlotStyle = menuItemSlotCss;
191
+ export const itemLabelStyle = menuItemLabelCss;
192
+ export const itemIndicatorStyle = menuItemIndicatorCss;
193
+ export const triggerIndicatorStyle = menuTriggerIndicatorCss;
194
+ export function Menu(handle) {
195
+ let buttonRef;
196
+ return () => {
197
+ let { children, label, menuLabel, mix, type, ...buttonProps } = handle.props;
198
+ return (_jsxs(menu.Context, { label: menuLabel, children: [_jsxs("button", { ...buttonProps, type: type ?? 'button', mix: [
199
+ button(),
200
+ buttonStyle,
201
+ menu.trigger(),
202
+ ref((node, signal) => {
203
+ buttonRef = node;
204
+ signal.addEventListener('abort', () => {
205
+ if (buttonRef === node) {
206
+ buttonRef = undefined;
207
+ }
208
+ });
209
+ }),
210
+ mix,
211
+ ], children: [_jsx("span", { mix: menuButtonLabelCss, children: label }), _jsx(ChevronDownIcon, { mix: menuButtonIconCss })] }), _jsx(MenuList, { mix: menu.onMenuSelect((event) => {
212
+ if (!buttonRef) {
213
+ return;
214
+ }
215
+ event.stopPropagation();
216
+ buttonRef.dispatchEvent(new menu.MenuSelectEvent(event.item));
217
+ }), children: children })] }));
218
+ };
219
+ }
220
+ export function MenuList(handle) {
221
+ return () => {
222
+ let { children, mix, ...divProps } = handle.props;
223
+ return (_jsx("div", { mix: [popoverSurfaceStyle, popoverStyle, menu.popover()], children: _jsx("div", { ...divProps, mix: [listStyle, menu.list(), mix], children: children }) }));
224
+ };
225
+ }
226
+ export function MenuItem(handle) {
227
+ return () => {
228
+ let { checked, children, disabled, label, mix, name, searchValue, type, value, ...divProps } = handle.props;
229
+ return (_jsxs("div", { ...divProps, mix: [
230
+ itemStyle,
231
+ menu.item({ checked, disabled, label, name, searchValue, type, value }),
232
+ mix,
233
+ ], children: [_jsx("span", { mix: itemSlotStyle, children: _jsx(CheckIcon, { mix: itemIndicatorStyle }) }), _jsx("span", { mix: itemLabelStyle, children: children ?? label })] }));
234
+ };
235
+ }
236
+ export function Submenu(handle) {
237
+ return () => {
238
+ let { children, disabled, label, listProps, menuLabel, mix, searchValue, value, ...divProps } = handle.props;
239
+ return (_jsxs(menu.Context, { label: menuLabel, children: [_jsxs("div", { ...divProps, mix: [
240
+ itemStyle,
241
+ menu.submenuTrigger({
242
+ disabled,
243
+ searchValue,
244
+ value,
245
+ }),
246
+ mix,
247
+ ], children: [_jsx("span", { mix: itemSlotStyle, children: _jsx(CheckIcon, { mix: itemIndicatorStyle }) }), _jsx("span", { mix: itemLabelStyle, children: label }), _jsx(ChevronRightIcon, { mix: triggerIndicatorStyle })] }), _jsx(MenuList, { ...listProps, children: children })] }));
248
+ };
249
+ }
250
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/menu/index.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
- import { on, type CSSMixinDescriptor, type Dispatched, type ElementProps, type Handle, type MixinFactory, type Props, type RemixNode } from '@remix-run/ui';
2
- import { type AnchorOptions } from '../anchor/anchor.ts';
3
- import { type SearchValue } from '../../interactions/typeahead/typeahead-mixin.ts';
1
+ import { on, type Dispatched, type ElementProps, type Handle, type MixinFactory, type RemixNode } from '@remix-run/ui';
2
+ import { type AnchorOptions } from '../anchor/index.ts';
3
+ import { type SearchValue } from '../shared/typeahead.ts';
4
4
  declare const MENU_SELECT_EVENT: "rmx:menu-select";
5
5
  type MenuSelectHandler<target extends HTMLElement> = (event: Dispatched<MenuSelectEvent, target>, signal: AbortSignal) => void | Promise<void>;
6
- export declare const buttonStyle: CSSMixinDescriptor;
7
- export declare const popoverStyle: CSSMixinDescriptor;
8
- export declare const listStyle: CSSMixinDescriptor;
9
- export declare const itemStyle: CSSMixinDescriptor;
10
- export declare const itemSlotStyle: CSSMixinDescriptor;
11
- export declare const itemLabelStyle: CSSMixinDescriptor;
12
- export declare const itemGlyphStyle: CSSMixinDescriptor;
13
- export declare const triggerGlyphStyle: CSSMixinDescriptor;
14
6
  declare global {
15
7
  interface HTMLElementEventMap {
16
8
  [MENU_SELECT_EVENT]: MenuSelectEvent;
@@ -39,6 +31,8 @@ export interface MenuProviderProps {
39
31
  }
40
32
  export interface MenuTriggerOptions extends AnchorOptions {
41
33
  }
34
+ export interface MenuContextTriggerOptions extends AnchorOptions {
35
+ }
42
36
  export interface MenuItemOptions {
43
37
  checked?: boolean;
44
38
  disabled?: boolean;
@@ -125,31 +119,11 @@ interface MenuContextValue {
125
119
  }
126
120
  declare function MenuProvider(handle: Handle<MenuProviderProps, MenuContextValue>): () => RemixNode;
127
121
  declare const popoverMixin: MixinFactory<HTMLElement, [], ElementProps>;
128
- export interface MenuListProps extends Props<'div'> {
129
- }
130
- type MenuListChildProps = Omit<JSX.LibraryManagedAttributes<typeof MenuList, MenuListProps>, 'children'>;
131
122
  export declare const Context: typeof MenuProvider;
123
+ export declare const contextTrigger: MixinFactory<HTMLElement, [options?: MenuContextTriggerOptions | undefined], ElementProps>;
132
124
  export declare const item: MixinFactory<HTMLElement, [options: MenuItemOptions], ElementProps>;
133
125
  export declare const list: MixinFactory<HTMLElement, [], ElementProps>;
134
126
  export { popoverMixin as popover };
135
127
  export declare const submenuTrigger: MixinFactory<HTMLElement, [options: SubmenuTriggerOptions], ElementProps>;
136
128
  export declare const trigger: MixinFactory<HTMLElement, [options?: MenuTriggerOptions | undefined], ElementProps>;
137
129
  export declare function onMenuSelect<target extends HTMLElement>(handler: MenuSelectHandler<target>, captureBoolean?: boolean): ReturnType<typeof on<target, typeof MENU_SELECT_EVENT>>;
138
- export interface MenuProps extends Omit<Props<'button'>, 'children'> {
139
- children?: RemixNode;
140
- label: RemixNode;
141
- menuLabel?: string;
142
- }
143
- export interface MenuItemProps extends Omit<Props<'div'>, 'children' | 'name' | 'type' | 'value'>, MenuItemOptions {
144
- children?: RemixNode;
145
- }
146
- export interface SubmenuProps extends Omit<Props<'div'>, 'children' | 'name' | 'type' | 'value'>, Omit<SubmenuTriggerOptions, 'label'> {
147
- children?: RemixNode;
148
- label: RemixNode;
149
- listProps?: MenuListChildProps;
150
- menuLabel?: string;
151
- }
152
- export declare function Menu(handle: Handle<MenuProps>): () => RemixNode;
153
- export declare function MenuList(handle: Handle<MenuListProps>): () => RemixNode;
154
- export declare function MenuItem(handle: Handle<MenuItemProps>): () => RemixNode;
155
- export declare function Submenu(handle: Handle<SubmenuProps>): () => RemixNode;