@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,114 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@remix-run/ui/jsx-runtime";
2
+ import { css, on } from '@remix-run/ui';
3
+ import { animateEntrance, animateExit } from '@remix-run/ui/animation';
4
+ const ease = 'cubic-bezier(0.26, 0.02, 0.23, 0.94)';
5
+ function OverlapExample(handle) {
6
+ let shouldAnimate = false;
7
+ handle.queueTask(() => {
8
+ shouldAnimate = true;
9
+ });
10
+ return () => {
11
+ let { state } = handle.props;
12
+ let animationMix = [
13
+ animateExit({
14
+ opacity: 0,
15
+ transform: 'scale(0.8)',
16
+ duration: 300,
17
+ easing: ease,
18
+ }),
19
+ ];
20
+ if (shouldAnimate) {
21
+ animationMix.unshift(animateEntrance({
22
+ opacity: 0,
23
+ transform: 'scale(0.6)',
24
+ duration: 300,
25
+ easing: ease,
26
+ }));
27
+ }
28
+ return (_jsx("div", {
29
+ // grid layout so children render in the same position
30
+ mix: [css({ display: 'grid', width: 80, height: 80, '& > *': { gridArea: '1 / 1' } })], children: state ? (_jsx("div", { mix: animationMix, children: _jsx(Circle, { filled: true, children: _jsx(FilledIcon, {}) }) }, "filled")) : (_jsx("div", { mix: animationMix, children: _jsx(Circle, { children: _jsx(OutlineIcon, {}) }) }, "outline")) }));
31
+ };
32
+ }
33
+ function WaitExample(handle) {
34
+ let shouldAnimate = false;
35
+ handle.queueTask(() => {
36
+ shouldAnimate = true;
37
+ });
38
+ return () => {
39
+ let { state } = handle.props;
40
+ let animationMix = [
41
+ animateExit({
42
+ opacity: 0,
43
+ transform: 'scale(0.8)',
44
+ duration: 300,
45
+ easing: ease,
46
+ }),
47
+ ];
48
+ if (shouldAnimate) {
49
+ animationMix.unshift(animateEntrance({
50
+ opacity: 0,
51
+ transform: 'scale(0.6)',
52
+ duration: 300,
53
+ easing: ease,
54
+ delay: 300,
55
+ }));
56
+ }
57
+ return (_jsx("div", {
58
+ // grid layout so children render in the same position
59
+ mix: [css({ display: 'grid', width: 80, height: 80, '& > *': { gridArea: '1 / 1' } })], children: state ? (_jsx("div", { mix: animationMix, children: _jsx(Circle, { filled: true, children: _jsx(FilledIcon, {}) }) }, "filled")) : (_jsx("div", { mix: animationMix, children: _jsx(Circle, { children: _jsx(OutlineIcon, {}) }) }, "outline")) }));
60
+ };
61
+ }
62
+ export function SharedLayout(handle) {
63
+ let state = true;
64
+ return () => (_jsxs("div", { mix: [
65
+ css({
66
+ display: 'flex',
67
+ flexDirection: 'column',
68
+ alignItems: 'center',
69
+ gap: 16,
70
+ }),
71
+ ], children: [_jsxs("div", { mix: [css({ display: 'flex', gap: 16 })], children: [_jsx(OverlapExample, { state: state }), _jsx(WaitExample, { state: state })] }), _jsx("button", { mix: [
72
+ css({
73
+ backgroundColor: '#0f1115',
74
+ color: '#f5f5f5',
75
+ border: 'none',
76
+ borderRadius: 8,
77
+ padding: '12px 32px',
78
+ fontSize: 14,
79
+ fontWeight: 500,
80
+ cursor: 'pointer',
81
+ transition: 'transform 100ms ease-in-out',
82
+ '&:active': {
83
+ transform: 'scale(0.95)',
84
+ },
85
+ }),
86
+ on('click', () => {
87
+ state = !state;
88
+ handle.update();
89
+ }),
90
+ ], children: "Switch" })] }));
91
+ }
92
+ function Circle(handle) {
93
+ return () => (_jsx("div", { mix: [
94
+ css({
95
+ width: 80,
96
+ height: 80,
97
+ borderRadius: '50%',
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ justifyContent: 'center',
101
+ boxSizing: 'border-box',
102
+ backgroundColor: handle.props.filled ? '#0f1115' : 'transparent',
103
+ color: handle.props.filled ? '#f5f5f5' : '#0f1115',
104
+ border: handle.props.filled ? '2px solid #0f1115' : '2px solid #0f1115',
105
+ }),
106
+ ], children: handle.props.children }));
107
+ }
108
+ function FilledIcon() {
109
+ return () => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6" }), _jsx("path", { d: "m21 3-9 9" }), _jsx("path", { d: "M15 3h6v6" })] }));
110
+ }
111
+ function OutlineIcon() {
112
+ return () => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("path", { d: "M9 12h6" })] }));
113
+ }
114
+ //# sourceMappingURL=shared-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-layout.js","sourceRoot":"","sources":["../../../src/animation/demos/shared-layout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function TransitionOptions(): () => import("@remix-run/ui").RemixElement;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "@remix-run/ui/jsx-runtime";
2
+ import { css } from '@remix-run/ui';
3
+ import { animateEntrance } from '@remix-run/ui/animation';
4
+ export function TransitionOptions() {
5
+ return () => (_jsx("div", { mix: [
6
+ css({
7
+ width: 100,
8
+ height: 100,
9
+ borderRadius: '50%',
10
+ backgroundColor: '#9911ff',
11
+ }),
12
+ animateEntrance({
13
+ opacity: 0,
14
+ transform: 'scale(0.5)',
15
+ duration: 800,
16
+ delay: 500,
17
+ easing: 'cubic-bezier(0, 0.71, 0.2, 1.01)',
18
+ }),
19
+ ] }));
20
+ }
21
+ //# sourceMappingURL=transition-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-options.js","sourceRoot":"","sources":["../../../src/animation/demos/transition-options.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,GAAG,EAAE,CAAC,CACX,cACE,GAAG,EAAE;YACH,GAAG,CAAC;gBACF,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,SAAS;aAC3B,CAAC;YACF,eAAe,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,YAAY;gBACvB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,kCAAkC;aAC3C,CAAC;SACH,GACD,CACH,CAAA;AACH,CAAC"}
@@ -43,4 +43,26 @@ export interface SpringFunction {
43
43
  bounce: number;
44
44
  }>;
45
45
  }
46
+ /**
47
+ * Create a spring-physics animation iterator for CSS transitions and WAAPI.
48
+ *
49
+ * The returned iterator can be:
50
+ * - Iterated to get position values (0→1)
51
+ * - Spread into WAAPI options: `element.animate(keyframes, { ...spring() })`
52
+ * - Stringified for CSS: `` `transform ${spring()}` ``
53
+ *
54
+ * @example
55
+ * // Named preset
56
+ * let s = spring('bouncy')
57
+ * element.style.transition = `transform ${s}`
58
+ *
59
+ * @example
60
+ * // Custom parameters
61
+ * let s = spring({ duration: 500, bounce: 0.2 })
62
+ * element.animate(keyframes, { ...s })
63
+ *
64
+ * @example
65
+ * // Transition helper for multiple properties
66
+ * element.style.transition = spring.transition(['transform', 'opacity'], 'snappy')
67
+ */
46
68
  export declare const spring: SpringFunction;
@@ -53,6 +53,28 @@ function transition(property, presetOrOptions, overrides) {
53
53
  let properties = Array.isArray(property) ? property : [property];
54
54
  return properties.map((p) => `${p} ${s}`).join(', ');
55
55
  }
56
+ /**
57
+ * Create a spring-physics animation iterator for CSS transitions and WAAPI.
58
+ *
59
+ * The returned iterator can be:
60
+ * - Iterated to get position values (0→1)
61
+ * - Spread into WAAPI options: `element.animate(keyframes, { ...spring() })`
62
+ * - Stringified for CSS: `` `transform ${spring()}` ``
63
+ *
64
+ * @example
65
+ * // Named preset
66
+ * let s = spring('bouncy')
67
+ * element.style.transition = `transform ${s}`
68
+ *
69
+ * @example
70
+ * // Custom parameters
71
+ * let s = spring({ duration: 500, bounce: 0.2 })
72
+ * element.animate(keyframes, { ...s })
73
+ *
74
+ * @example
75
+ * // Transition helper for multiple properties
76
+ * element.style.transition = spring.transition(['transform', 'opacity'], 'snappy')
77
+ */
56
78
  export const spring = Object.assign(createSpring, {
57
79
  transition,
58
80
  presets,
@@ -1 +1 @@
1
- {"version":3,"file":"spring.js","sourceRoot":"","sources":["../../src/animation/spring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spring.js","sourceRoot":"","sources":["../../src/animation/spring.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "@remix-run/ui/jsx-runtime";
2
2
  import { css, createElement } from '@remix-run/ui';
3
- import { Glyph } from "../glyph/glyph.js";
4
- import { theme } from "../../theme/theme.js";
3
+ import { ChevronRightIcon } from "../shared/icons.js";
4
+ import { componentStyleValues as styles } from "../shared/style-values.js";
5
5
  const rootCss = css({
6
6
  minWidth: 0,
7
7
  });
@@ -9,7 +9,7 @@ const listCss = css({
9
9
  display: 'flex',
10
10
  flexWrap: 'wrap',
11
11
  alignItems: 'center',
12
- gap: `${theme.space.xs} ${theme.space.sm}`,
12
+ gap: `${styles.space.xs} ${styles.space.sm}`,
13
13
  minWidth: 0,
14
14
  margin: 0,
15
15
  padding: 0,
@@ -25,31 +25,31 @@ const separatorCss = css({
25
25
  alignItems: 'center',
26
26
  justifyContent: 'center',
27
27
  flexShrink: 0,
28
- width: theme.fontSize.sm,
29
- height: theme.fontSize.sm,
30
- color: theme.colors.text.muted,
28
+ width: styles.fontSize.sm,
29
+ height: styles.fontSize.sm,
30
+ color: styles.colors.text.muted,
31
31
  });
32
32
  const linkCss = css({
33
- color: theme.colors.text.secondary,
34
- fontSize: theme.fontSize.sm,
35
- lineHeight: theme.lineHeight.normal,
33
+ color: styles.colors.text.secondary,
34
+ fontSize: styles.fontSize.sm,
35
+ lineHeight: styles.lineHeight.normal,
36
36
  textDecoration: 'none',
37
37
  whiteSpace: 'nowrap',
38
38
  '&:hover': {
39
- color: theme.colors.text.primary,
39
+ color: styles.colors.text.primary,
40
40
  },
41
41
  });
42
42
  const currentCss = css({
43
- color: theme.colors.text.primary,
44
- fontSize: theme.fontSize.sm,
45
- lineHeight: theme.lineHeight.normal,
46
- fontWeight: theme.fontWeight.medium,
43
+ color: styles.colors.text.primary,
44
+ fontSize: styles.fontSize.sm,
45
+ lineHeight: styles.lineHeight.normal,
46
+ fontWeight: styles.fontWeight.medium,
47
47
  whiteSpace: 'nowrap',
48
48
  });
49
49
  const textCss = css({
50
- color: theme.colors.text.secondary,
51
- fontSize: theme.fontSize.sm,
52
- lineHeight: theme.lineHeight.normal,
50
+ color: styles.colors.text.secondary,
51
+ fontSize: styles.fontSize.sm,
52
+ lineHeight: styles.lineHeight.normal,
53
53
  whiteSpace: 'nowrap',
54
54
  });
55
55
  export function Breadcrumbs(handle) {
@@ -59,7 +59,7 @@ export function Breadcrumbs(handle) {
59
59
  if (currentIndex === -1) {
60
60
  currentIndex = Math.max(0, items.length - 1);
61
61
  }
62
- let separatorContent = separator ?? _jsx(Glyph, { name: "chevronRight" });
62
+ let separatorContent = separator ?? _jsx(ChevronRightIcon, {});
63
63
  return (_jsx("nav", { "aria-label": ariaLabel ?? 'Breadcrumb', ...navProps, mix: [rootCss, mix], children: _jsx("ol", { mix: listCss, children: items.flatMap((item, index) => {
64
64
  let isCurrent = index === currentIndex;
65
65
  let content = isCurrent ? (_jsx("span", { "aria-current": "page", mix: currentCss, children: item.label })) : item.href ? (_jsx("a", { href: item.href, mix: linkCss, children: item.label })) : (_jsx("span", { mix: textCss, children: item.label }));
@@ -73,4 +73,4 @@ export function Breadcrumbs(handle) {
73
73
  }) }) }));
74
74
  };
75
75
  }
76
- //# sourceMappingURL=breadcrumbs.js.map
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/breadcrumbs/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAqB,CAAA;AACtD,OAAO,EAAE,oBAAoB,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAa1E,MAAM,OAAO,GAAG,GAAG,CAAC;IAClB,QAAQ,EAAE,CAAC;CACZ,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE;IAC5C,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,MAAM;CAClB,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAC;IAClB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC;CACZ,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,GAAG,CAAC;IACvB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;IACzB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;CAChC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;IACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;IAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;IACpC,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;KAClC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,GAAG,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;IACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;IAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;IACpC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;IACpC,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;IACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;IAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;IACpC,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA;AAEF,MAAM,UAAU,WAAW,CAAC,MAAgC;IAC1D,OAAO,GAAG,EAAE;QACV,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAA;QAClF,IAAI,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,gBAAgB,GAAG,SAAS,IAAI,KAAC,gBAAgB,KAAG,CAAA;QAExD,OAAO,CACL,4BAAiB,SAAS,IAAI,YAAY,KAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,YAC3E,aAAI,GAAG,EAAE,OAAO,YACb,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC7B,IAAI,SAAS,GAAG,KAAK,KAAK,YAAY,CAAA;oBACtC,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CACxB,+BAAmB,MAAM,EAAC,GAAG,EAAE,UAAU,YACtC,IAAI,CAAC,KAAK,GACN,CACR,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,YAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,YAC7B,IAAI,CAAC,KAAK,GACT,CACL,CAAC,CAAC,CAAC,CACF,eAAM,GAAG,EAAE,OAAO,YAAG,IAAI,CAAC,KAAK,GAAQ,CACxC,CAAA;oBAED,IAAI,KAAK,GAAgB;wBACvB,aAA0B,GAAG,EAAE,OAAO,YACnC,OAAO,IADD,QAAQ,KAAK,EAAE,CAEnB;qBACN,CAAA;oBAED,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,KAAK,CAAC,IAAI,CACR,4BAA2C,MAAM,EAAC,GAAG,EAAE,YAAY,YAChE,gBAAgB,IADV,aAAa,KAAK,EAAE,CAExB,CACN,CAAA;oBACH,CAAC;oBAED,OAAO,KAAK,CAAA;gBACd,CAAC,CAAC,GACC,GACD,CACP,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CSSMixinDescriptor, ElementProps, MixinDescriptor } from '@remix-run/ui';
2
+ export type ButtonSize = 'md' | 'lg';
3
+ export type ButtonTone = 'neutral' | 'primary' | 'ghost';
4
+ export interface ButtonOptions {
5
+ size?: ButtonSize;
6
+ tone?: ButtonTone;
7
+ }
8
+ type ButtonMixin = readonly [
9
+ MixinDescriptor<Element, [], ElementProps>,
10
+ CSSMixinDescriptor,
11
+ CSSMixinDescriptor,
12
+ CSSMixinDescriptor
13
+ ];
14
+ export declare function button(options?: ButtonOptions): ButtonMixin;
15
+ export default button;
@@ -0,0 +1,128 @@
1
+ import { createMixin, css } from '@remix-run/ui';
2
+ import { renderMixinElement } from "../runtime/mixins/mixin.js";
3
+ const buttonDefaultAttrs = createMixin((handle, hostType) => (props) => {
4
+ if (hostType !== 'button' || props.type !== undefined) {
5
+ return handle.element;
6
+ }
7
+ return renderMixinElement(handle.element, {
8
+ ...props,
9
+ type: 'button',
10
+ });
11
+ })();
12
+ const baseStyle = css({
13
+ '--rmx-button-shadow': '0 0 0 0 rgba(0, 0, 0, 0)',
14
+ '--rmx-button-focus-shadow': '0 0 0 1px #3573F6, var(--rmx-button-shadow), 0 0 0 4px rgba(53, 115, 246, 0.1), 0 6px 32px 4px rgba(53, 115, 246, 0.08), inset 0 0 8px 1px rgba(53, 115, 246, 0.05)',
15
+ appearance: 'none',
16
+ margin: 0,
17
+ boxSizing: 'border-box',
18
+ cursor: 'revert',
19
+ display: 'inline-flex',
20
+ alignItems: 'center',
21
+ justifyContent: 'center',
22
+ flexDirection: 'row',
23
+ gap: '4px',
24
+ paddingBlock: 0,
25
+ width: 'max-content',
26
+ maxWidth: '100%',
27
+ borderRadius: '999px',
28
+ fontFamily: '"Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif',
29
+ fontStyle: 'normal',
30
+ fontWeight: 500,
31
+ fontFeatureSettings: '"cv01" on, "ss01" on',
32
+ letterSpacing: 0,
33
+ whiteSpace: 'nowrap',
34
+ textDecoration: 'none',
35
+ userSelect: 'none',
36
+ WebkitUserSelect: 'none',
37
+ verticalAlign: 'top',
38
+ boxShadow: 'var(--rmx-button-shadow)',
39
+ '&:focus-visible': {
40
+ outline: 0,
41
+ boxShadow: 'var(--rmx-button-focus-shadow)',
42
+ },
43
+ '&:disabled, &[aria-disabled="true"]': {
44
+ cursor: 'not-allowed',
45
+ opacity: 0.55,
46
+ },
47
+ });
48
+ const mediumStyle = css({
49
+ height: '26px',
50
+ minHeight: '26px',
51
+ paddingInline: '12px',
52
+ fontSize: '12px',
53
+ lineHeight: '17px',
54
+ '--rmx-button-neutral-shadow-alpha': '0.03',
55
+ });
56
+ const largeStyle = css({
57
+ height: '30px',
58
+ minHeight: '30px',
59
+ paddingInline: '12px',
60
+ fontSize: '13px',
61
+ lineHeight: '20px',
62
+ '--rmx-button-neutral-shadow-alpha': '0.04',
63
+ });
64
+ const neutralStyle = css({
65
+ background: '#FCFCFC',
66
+ border: '1px solid rgba(0, 0, 0, 0.08)',
67
+ '--rmx-button-shadow': '0 -2px 0 -2px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.75), 0 1px 0 #FFFFFF, 0 2px 4px -1px rgb(0 0 0 / var(--rmx-button-neutral-shadow-alpha)), inset 0 2px 0 #FFFFFF, inset 0 -1px 0 rgba(0, 0, 0, 0.05)',
68
+ color: '#101010',
69
+ textShadow: '0 1px 0 #FFFFFF',
70
+ '&:hover:not(:disabled):not([aria-disabled="true"])': {
71
+ background: '#FFFFFF',
72
+ borderColor: 'rgba(0, 0, 0, 0.1)',
73
+ '--rmx-button-shadow': '0 -2px 0 -2px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.8), 0 1px 0 #FFFFFF, 0 3px 6px -2px rgb(0 0 0 / calc(var(--rmx-button-neutral-shadow-alpha) + 0.03)), inset 0 2px 0 #FFFFFF, inset 0 -1px 0 rgba(0, 0, 0, 0.05)',
74
+ },
75
+ '&:active:not(:disabled):not([aria-disabled="true"]), &[aria-pressed="true"]:not(:disabled):not([aria-disabled="true"])': {
76
+ background: '#F7F7F7',
77
+ borderColor: 'rgba(0, 0, 0, 0.12)',
78
+ '--rmx-button-shadow': '0 0 0 1px rgba(255, 255, 255, 0.65), inset 0 1px 2px rgba(0, 0, 0, 0.08), inset 0 -1px 0 rgba(255, 255, 255, 0.8)',
79
+ textShadow: 'none',
80
+ },
81
+ });
82
+ const primaryStyle = css({
83
+ background: 'radial-gradient(50% 50% at 50% 0%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(49.59% 37.11% at 50.41% 101.56%, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 66.46%), #101010',
84
+ border: 0,
85
+ '--rmx-button-shadow': '0 16px 16px -8px rgba(0, 0, 0, 0.1), 0 8px 8px -4px rgba(0, 0, 0, 0.1), 0 4px 4px -2px rgba(0, 0, 0, 0.1), 0 2px 2px -1px rgba(0, 0, 0, 0.1), inset 0 0 4px 2px #101010, inset 0 0 4px 2px rgba(255, 255, 255, 0.1), inset 0 0 12px -6px rgba(255, 255, 255, 0.75)',
86
+ color: '#FFFFFF',
87
+ textShadow: '0 1px 1px #000000',
88
+ '&:hover:not(:disabled):not([aria-disabled="true"])': {
89
+ background: 'radial-gradient(50% 50% at 50% 0%, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(49.59% 37.11% at 50.41% 101.56%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 66.46%), #171717',
90
+ '--rmx-button-shadow': '0 18px 18px -10px rgba(0, 0, 0, 0.14), 0 8px 8px -4px rgba(0, 0, 0, 0.12), 0 4px 4px -2px rgba(0, 0, 0, 0.1), 0 2px 2px -1px rgba(0, 0, 0, 0.1), inset 0 0 4px 2px #101010, inset 0 0 4px 2px rgba(255, 255, 255, 0.13), inset 0 0 12px -6px rgba(255, 255, 255, 0.85)',
91
+ },
92
+ '&:active:not(:disabled):not([aria-disabled="true"]), &[aria-pressed="true"]:not(:disabled):not([aria-disabled="true"])': {
93
+ background: 'radial-gradient(50% 50% at 50% 0%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(49.59% 37.11% at 50.41% 101.56%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 66.46%), #080808',
94
+ '--rmx-button-shadow': '0 2px 2px -1px rgba(0, 0, 0, 0.14), inset 0 0 4px 2px #050505, inset 0 1px 2px rgba(0, 0, 0, 0.45), inset 0 0 10px -6px rgba(255, 255, 255, 0.55)',
95
+ textShadow: '0 1px 1px #000000',
96
+ },
97
+ '&:active:not(:disabled):not([aria-disabled="true"])': {
98
+ transform: 'translateY(1px)',
99
+ },
100
+ });
101
+ const ghostStyle = css({
102
+ background: 'transparent',
103
+ border: '1px solid transparent',
104
+ '--rmx-button-shadow': '0 0 0 0 rgba(0, 0, 0, 0)',
105
+ color: '#101010',
106
+ textShadow: 'none',
107
+ '&:hover:not(:disabled):not([aria-disabled="true"])': {
108
+ background: 'rgba(16, 16, 16, 0.05)',
109
+ },
110
+ '&:active:not(:disabled):not([aria-disabled="true"]), &[aria-pressed="true"]:not(:disabled):not([aria-disabled="true"])': {
111
+ background: 'rgba(16, 16, 16, 0.08)',
112
+ },
113
+ });
114
+ const sizeStyles = {
115
+ md: mediumStyle,
116
+ lg: largeStyle,
117
+ };
118
+ const toneStyles = {
119
+ neutral: neutralStyle,
120
+ primary: primaryStyle,
121
+ ghost: ghostStyle,
122
+ };
123
+ export function button(options = {}) {
124
+ let { size = 'md', tone = 'neutral' } = options;
125
+ return [buttonDefaultAttrs, baseStyle, sizeStyles[size], toneStyles[tone]];
126
+ }
127
+ export default button;
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/button/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { CSSMixinDescriptor, ElementProps, MixinDescriptor } from '@remix-run/ui';
2
+ export type CheckboxSize = 'md' | 'lg';
3
+ export type CheckboxState = 'checked' | 'mixed' | 'unchecked';
4
+ export interface CheckboxOptions {
5
+ size?: CheckboxSize;
6
+ state?: CheckboxState;
7
+ }
8
+ type CheckboxMixin = readonly [
9
+ MixinDescriptor<Element, [state?: CheckboxState], ElementProps>,
10
+ CSSMixinDescriptor,
11
+ CSSMixinDescriptor
12
+ ];
13
+ export declare function checkbox(options?: CheckboxOptions): CheckboxMixin;
14
+ export default checkbox;
@@ -0,0 +1,125 @@
1
+ import { createMixin, css } from '@remix-run/ui';
2
+ import { renderMixinElement } from "../runtime/mixins/mixin.js";
3
+ import { controlFocusShadow } from "../shared/focus-styles.js";
4
+ const checkedSelector = '&:checked, &[aria-checked="true"], &[data-state="checked"]';
5
+ const mixedSelector = '&:indeterminate, &[indeterminate], &[aria-checked="mixed"], &[data-state="mixed"]';
6
+ const checkedMarkSelector = '&:checked::before, &[aria-checked="true"]::before, &[data-state="checked"]::before';
7
+ const mixedMarkSelector = '&:indeterminate::before, &[indeterminate]::before, &[aria-checked="mixed"]::before, &[data-state="mixed"]::before';
8
+ const enabledSelector = ':not(:disabled):not([aria-disabled="true"])';
9
+ const checkedActiveSelector = '&:checked:active:not(:disabled):not([aria-disabled="true"]), &[aria-checked="true"]:active:not(:disabled):not([aria-disabled="true"]), &[data-state="checked"]:active:not(:disabled):not([aria-disabled="true"])';
10
+ const mixedActiveSelector = '&:indeterminate:active:not(:disabled):not([aria-disabled="true"]), &[indeterminate]:active:not(:disabled):not([aria-disabled="true"]), &[aria-checked="mixed"]:active:not(:disabled):not([aria-disabled="true"]), &[data-state="mixed"]:active:not(:disabled):not([aria-disabled="true"])';
11
+ const checkIconUrl = "url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg filter='url(%23filter0_d_2_2264)'%3E%3Cpath d='M2.75 5.76562L5.10156 8.25L9.23438 1.75' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M2.75 5.76562L5.10156 8.25L9.23438 1.75' stroke='url(%23paint0_linear_2_2264)' stroke-opacity='0.1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_d_2_2264' x='0' y='0' width='11.9845' height='12' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='1'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0'/%3E%3CfeBlend mode='overlay' in2='BackgroundImageFix' result='effect1_dropShadow_2_2264'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='effect1_dropShadow_2_2264' result='shape'/%3E%3C/filter%3E%3ClinearGradient id='paint0_linear_2_2264' x1='5.99219' y1='1.75' x2='5.99219' y2='8.25' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0.25' stop-color='%233573F6' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%233573F6'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E\")";
12
+ const checkboxAriaChecked = {
13
+ checked: 'true',
14
+ mixed: 'mixed',
15
+ unchecked: 'false',
16
+ };
17
+ const checkboxDefaultAttrs = createMixin((handle, hostType) => (state, props) => {
18
+ let stateProps = state === undefined
19
+ ? props
20
+ : {
21
+ ...props,
22
+ 'aria-checked': props['aria-checked'] ?? checkboxAriaChecked[state],
23
+ 'data-state': props['data-state'] ?? state,
24
+ };
25
+ if (hostType !== 'input' || stateProps.type !== undefined) {
26
+ return state === undefined ? handle.element : renderMixinElement(handle.element, stateProps);
27
+ }
28
+ return renderMixinElement(handle.element, {
29
+ ...stateProps,
30
+ type: 'checkbox',
31
+ });
32
+ });
33
+ const baseStyle = css({
34
+ appearance: 'none',
35
+ WebkitAppearance: 'none',
36
+ margin: 0,
37
+ boxSizing: 'border-box',
38
+ position: 'relative',
39
+ display: 'inline-grid',
40
+ placeItems: 'center',
41
+ width: 'var(--rmx-checkbox-size)',
42
+ height: 'var(--rmx-checkbox-size)',
43
+ minWidth: 'var(--rmx-checkbox-size)',
44
+ minHeight: 'var(--rmx-checkbox-size)',
45
+ padding: 0,
46
+ border: 0,
47
+ borderRadius: 'var(--rmx-checkbox-radius)',
48
+ background: '#FFFFFF',
49
+ boxShadow: '0 2px 2px -1px rgba(0, 0, 0, 0.05), 0 3px 4px -1.5px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 5px 16px -2.5px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.12)',
50
+ color: '#FFFFFF',
51
+ verticalAlign: 'middle',
52
+ flex: 'none',
53
+ '&::before': {
54
+ content: '""',
55
+ position: 'absolute',
56
+ opacity: 0,
57
+ pointerEvents: 'none',
58
+ },
59
+ '&:disabled, &[aria-disabled="true"]': {
60
+ opacity: 0.55,
61
+ },
62
+ [`${checkedSelector}, ${mixedSelector}`]: {
63
+ background: 'linear-gradient(180deg, rgba(0, 0, 0, 0) 24.52%, rgba(0, 0, 0, 0.1) 100%), #3573F6',
64
+ backgroundBlendMode: 'overlay, normal',
65
+ borderRadius: 'var(--rmx-checkbox-active-radius)',
66
+ boxShadow: '0 1px 1px -0.5px rgba(9, 68, 190, 0.12), 0 2px 2px -1px rgba(9, 68, 190, 0.12), 0 4px 4px -2px rgba(9, 68, 190, 0.12), 0 8px 8px -4px rgba(9, 68, 190, 0.12), 0 2px 8px rgba(53, 115, 246, 0.4), inset 0 0 3px 1px rgba(0, 0, 0, 0.1)',
67
+ },
68
+ [checkedMarkSelector]: {
69
+ opacity: 1,
70
+ left: '50%',
71
+ top: '50%',
72
+ width: 'var(--rmx-checkbox-check-size)',
73
+ height: 'var(--rmx-checkbox-check-size)',
74
+ background: `${checkIconUrl} center / contain no-repeat`,
75
+ transform: 'translate(-50%, calc(-50% + var(--rmx-checkbox-check-y)))',
76
+ },
77
+ [mixedMarkSelector]: {
78
+ opacity: 1,
79
+ left: '50%',
80
+ top: '50%',
81
+ width: 'var(--rmx-checkbox-mixed-width)',
82
+ height: 'var(--rmx-checkbox-mixed-height)',
83
+ border: 0,
84
+ borderRadius: '999px',
85
+ background: 'currentColor',
86
+ filter: 'drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4))',
87
+ transform: 'translate(-50%, -50%)',
88
+ },
89
+ [`&:active${enabledSelector}`]: {
90
+ boxShadow: '0 1px 1px -0.5px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.14), inset 0 1px 2px rgba(0, 0, 0, 0.08)',
91
+ },
92
+ [`${checkedActiveSelector}, ${mixedActiveSelector}`]: {
93
+ boxShadow: '0 1px 1px -0.5px rgba(9, 68, 190, 0.1), 0 2px 2px -1px rgba(9, 68, 190, 0.1), 0 4px 4px -2px rgba(9, 68, 190, 0.1), 0 6px 8px -4px rgba(9, 68, 190, 0.1), 0 2px 6px rgba(53, 115, 246, 0.32), inset 0 1px 2px rgba(0, 0, 0, 0.3), inset 0 0 3px 1px rgba(0, 0, 0, 0.12)',
94
+ },
95
+ '&:focus-visible': {
96
+ outline: 0,
97
+ boxShadow: controlFocusShadow,
98
+ },
99
+ });
100
+ const sizeStyles = {
101
+ md: css({
102
+ '--rmx-checkbox-size': '16px',
103
+ '--rmx-checkbox-radius': '4px',
104
+ '--rmx-checkbox-active-radius': '5px',
105
+ '--rmx-checkbox-check-size': '12px',
106
+ '--rmx-checkbox-check-y': '1px',
107
+ '--rmx-checkbox-mixed-width': '7px',
108
+ '--rmx-checkbox-mixed-height': '2px',
109
+ }),
110
+ lg: css({
111
+ '--rmx-checkbox-size': '20px',
112
+ '--rmx-checkbox-radius': '5px',
113
+ '--rmx-checkbox-active-radius': '6px',
114
+ '--rmx-checkbox-check-size': '15px',
115
+ '--rmx-checkbox-check-y': '1.25px',
116
+ '--rmx-checkbox-mixed-width': '9px',
117
+ '--rmx-checkbox-mixed-height': '2.25px',
118
+ }),
119
+ };
120
+ export function checkbox(options = {}) {
121
+ let { size = 'md', state } = options;
122
+ return [checkboxDefaultAttrs(state), baseStyle, sizeStyles[size]];
123
+ }
124
+ export default checkbox;
125
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkbox/index.ts"],"names":[],"mappings":"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"}