@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
@@ -1,185 +1,15 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@remix-run/ui/jsx-runtime";
2
- import { attrs, createElement, createMixin, css, on, ref, } from '@remix-run/ui';
3
- import {} from "../anchor/anchor.js";
4
- import * as button from "../button/button.js";
5
- import { Glyph } from "../glyph/glyph.js";
6
- import * as popover from "../popover/popover.js";
7
- import { theme } from "../../theme/theme.js";
8
- import { hiddenTypeahead, matchNextItemBySearchText, } from "../../interactions/typeahead/typeahead-mixin.js";
9
- import { waitForCssTransition } from "../../utils/wait-for-css-transition.js";
10
- import { wait } from "../../utils/wait.js";
1
+ import { jsx as _jsx } from "@remix-run/ui/jsx-runtime";
2
+ import { attrs, createMixin, on, ref, } from '@remix-run/ui';
3
+ import {} from "../anchor/index.js";
4
+ import * as popover from "../popover/index.js";
5
+ import { hiddenTypeahead, matchNextItemBySearchText, } from "../shared/typeahead.js";
6
+ import { waitForCssTransition } from "../shared/wait-for-css-transition.js";
7
+ import { wait } from "../shared/wait.js";
11
8
  import { createHoverAim } from "./hover-aim.js";
12
9
  const MENU_SELECT_EVENT = 'rmx:menu-select';
13
10
  const MENU_FLASH_DURATION_MS = 60;
14
11
  const SUBMENU_OPEN_DELAY_MS = 300;
15
12
  const SUBMENU_ANCHOR_RELATIVE_TO = '[role="menu"] > [role^="menuitem"]';
16
- const menuButtonCss = css({
17
- display: 'grid',
18
- gridTemplateColumns: 'minmax(0, 1fr) auto',
19
- alignItems: 'center',
20
- borderRadius: theme.radius.md,
21
- paddingInlineEnd: theme.space.sm,
22
- textAlign: 'left',
23
- '&[aria-expanded="true"], &[aria-expanded="true"]:hover, &[aria-expanded="true"]:focus-visible': {
24
- backgroundColor: theme.surface.lvl3,
25
- color: theme.colors.text.primary,
26
- },
27
- });
28
- const menuPopoverCss = css({
29
- '&[data-menu-submenu="true"][data-anchor-placement^="right"]': {
30
- marginLeft: `calc(${theme.space.xs} * -1)`,
31
- },
32
- '&[data-menu-submenu="true"][data-anchor-placement^="left"]': {
33
- marginLeft: theme.space.xs,
34
- },
35
- '&[data-close-animation="none"]:not(:popover-open)': {
36
- transition: 'none',
37
- transitionBehavior: 'normal',
38
- },
39
- });
40
- const menuListCss = css({
41
- display: 'flex',
42
- flexDirection: 'column',
43
- flex: '1 1 auto',
44
- minHeight: 0,
45
- paddingBlock: theme.space.xs,
46
- paddingInline: theme.space.none,
47
- overflow: 'auto',
48
- overscrollBehavior: 'contain',
49
- outline: 'none',
50
- userSelect: 'none',
51
- WebkitUserSelect: 'none',
52
- '--rmx-ui-item-inset': `calc(${theme.space.sm} + ${theme.space.xs})`,
53
- '--rmx-ui-item-indicator-gap': 'var(--rmx-menu-item-slot-gap)',
54
- '--rmx-ui-item-indicator-width': 'var(--rmx-menu-item-slot-width)',
55
- '--rmx-menu-item-slot-gap': theme.space.none,
56
- '--rmx-menu-item-slot-width': theme.space.none,
57
- '&:has(> [role="menuitemcheckbox"])': {
58
- '--rmx-menu-item-slot-gap': theme.space.xs,
59
- '--rmx-menu-item-slot-width': theme.fontSize.md,
60
- },
61
- '&:has(> [role="menuitemradio"])': {
62
- '--rmx-menu-item-slot-gap': theme.space.xs,
63
- '--rmx-menu-item-slot-width': theme.fontSize.md,
64
- },
65
- });
66
- const menuItemCss = css({
67
- display: 'flex',
68
- alignItems: 'center',
69
- width: '100%',
70
- minWidth: 0,
71
- minHeight: theme.control.height.md,
72
- boxSizing: 'border-box',
73
- position: 'relative',
74
- isolation: 'isolate',
75
- paddingInline: `calc(${theme.space.sm} + ${theme.space.xs})`,
76
- color: theme.colors.text.primary,
77
- fontFamily: theme.fontFamily.sans,
78
- fontSize: theme.fontSize.sm,
79
- fontWeight: theme.fontWeight.normal,
80
- lineHeight: theme.lineHeight.normal,
81
- textAlign: 'left',
82
- userSelect: 'none',
83
- WebkitUserSelect: 'none',
84
- '--rmx-menu-item-indicator-opacity': '0',
85
- '&::before': {
86
- content: '""',
87
- position: 'absolute',
88
- insetBlock: 0,
89
- insetInline: theme.space.xs,
90
- borderRadius: theme.radius.md,
91
- backgroundColor: 'transparent',
92
- pointerEvents: 'none',
93
- zIndex: -1,
94
- },
95
- '&:focus': {
96
- outline: 'none',
97
- },
98
- '&[data-highlighted="true"]': {
99
- color: theme.colors.action.primary.foreground,
100
- },
101
- '&[data-highlighted="true"]::before': {
102
- backgroundColor: theme.colors.action.primary.background,
103
- },
104
- '&[aria-haspopup="menu"][aria-expanded="true"]:not(:focus)': {
105
- color: theme.colors.text.primary,
106
- },
107
- '&[aria-haspopup="menu"][aria-expanded="true"]:not(:focus)::before': {
108
- backgroundColor: theme.surface.lvl2,
109
- },
110
- '&[data-submenu-state="selecting"], &[data-submenu-state="dismissing"]': {
111
- color: theme.colors.text.primary,
112
- },
113
- '&[data-submenu-state="selecting"]::before, &[data-submenu-state="dismissing"]::before': {
114
- backgroundColor: theme.surface.lvl2,
115
- },
116
- '&[data-menu-flash="true"]': {
117
- color: theme.colors.text.primary,
118
- },
119
- '&[data-menu-flash="true"]::before': {
120
- backgroundColor: 'transparent',
121
- },
122
- '&[aria-disabled="true"]': {
123
- opacity: 0.5,
124
- },
125
- '&[aria-checked="true"], &[aria-selected="true"]': {
126
- '--rmx-menu-item-indicator-opacity': '1',
127
- },
128
- });
129
- const menuItemSlotCss = css({
130
- display: 'inline-flex',
131
- alignItems: 'center',
132
- justifyContent: 'center',
133
- flex: '0 0 var(--rmx-menu-item-slot-width)',
134
- width: 'var(--rmx-menu-item-slot-width)',
135
- minWidth: 0,
136
- marginInlineEnd: 'var(--rmx-menu-item-slot-gap)',
137
- overflow: 'hidden',
138
- });
139
- const menuItemLabelCss = css({
140
- display: 'inline-flex',
141
- alignItems: 'center',
142
- flex: '1 1 auto',
143
- minWidth: 0,
144
- });
145
- const menuItemGlyphCss = css({
146
- display: 'inline-flex',
147
- alignItems: 'center',
148
- justifyContent: 'center',
149
- width: theme.fontSize.md,
150
- height: theme.fontSize.md,
151
- color: 'currentColor',
152
- flexShrink: 0,
153
- '& > svg': {
154
- display: 'block',
155
- width: '100%',
156
- height: '100%',
157
- },
158
- opacity: 'var(--rmx-menu-item-indicator-opacity)',
159
- });
160
- const menuTriggerGlyphCss = css({
161
- display: 'inline-flex',
162
- alignItems: 'center',
163
- justifyContent: 'center',
164
- width: theme.fontSize.md,
165
- height: theme.fontSize.md,
166
- color: 'currentColor',
167
- flexShrink: 0,
168
- marginInlineStart: 'auto',
169
- '& > svg': {
170
- display: 'block',
171
- width: '100%',
172
- height: '100%',
173
- },
174
- });
175
- export const buttonStyle = menuButtonCss;
176
- export const popoverStyle = menuPopoverCss;
177
- export const listStyle = menuListCss;
178
- export const itemStyle = menuItemCss;
179
- export const itemSlotStyle = menuItemSlotCss;
180
- export const itemLabelStyle = menuItemLabelCss;
181
- export const itemGlyphStyle = menuItemGlyphCss;
182
- export const triggerGlyphStyle = menuTriggerGlyphCss;
183
13
  export class MenuSelectEvent extends Event {
184
14
  item;
185
15
  constructor(item) {
@@ -654,51 +484,114 @@ function MenuProvider(handle) {
654
484
  }
655
485
  const triggerMixin = createMixin((handle) => {
656
486
  let context = handle.context.get(MenuProvider);
657
- return (options = {}) => [
658
- attrs({
659
- id: handle.id,
660
- 'aria-controls': context.listId,
661
- 'aria-expanded': context.isOpen ? 'true' : 'false',
662
- 'aria-haspopup': 'menu',
663
- }),
664
- ref((node, signal) => {
665
- context.registerTrigger(node, handle.id);
666
- signal.addEventListener('abort', () => {
667
- context.unregisterTrigger(node);
668
- });
669
- }),
670
- popover.anchor({
671
- placement: 'bottom-start',
672
- ...options,
673
- }),
674
- on('click', () => {
675
- if (context.isOpen) {
676
- void context.closeAll();
677
- }
678
- else {
679
- void context.open({ strategy: 'list' });
680
- }
681
- }),
682
- on('keydown', (event) => {
683
- switch (event.key) {
684
- case 'ArrowDown':
685
- event.preventDefault();
686
- event.stopPropagation();
687
- void context.open({ strategy: 'first' });
688
- break;
689
- case 'ArrowUp':
690
- event.preventDefault();
691
- event.stopPropagation();
692
- void context.open({ strategy: 'last' });
693
- break;
694
- case 'Enter':
695
- case ' ':
696
- event.preventDefault();
697
- event.stopPropagation();
487
+ return (options = {}, props = options) => {
488
+ if (props === options) {
489
+ options = {};
490
+ }
491
+ return [
492
+ attrs({
493
+ id: handle.id,
494
+ 'aria-controls': context.listId,
495
+ 'aria-expanded': context.isOpen ? 'true' : 'false',
496
+ 'aria-haspopup': 'menu',
497
+ }),
498
+ ref((node, signal) => {
499
+ context.registerTrigger(node, handle.id);
500
+ signal.addEventListener('abort', () => {
501
+ context.unregisterTrigger(node);
502
+ });
503
+ }),
504
+ popover.anchor({
505
+ placement: 'bottom-start',
506
+ ...options,
507
+ }),
508
+ on('click', () => {
509
+ if (context.isOpen) {
510
+ void context.closeAll();
511
+ }
512
+ else {
698
513
  void context.open({ strategy: 'list' });
699
- }
700
- }),
701
- ];
514
+ }
515
+ }),
516
+ on('keydown', (event) => {
517
+ switch (event.key) {
518
+ case 'ArrowDown':
519
+ event.preventDefault();
520
+ event.stopPropagation();
521
+ void context.open({ strategy: 'first' });
522
+ break;
523
+ case 'ArrowUp':
524
+ event.preventDefault();
525
+ event.stopPropagation();
526
+ void context.open({ strategy: 'last' });
527
+ break;
528
+ case 'Enter':
529
+ case ' ':
530
+ event.preventDefault();
531
+ event.stopPropagation();
532
+ void context.open({ strategy: 'list' });
533
+ }
534
+ }),
535
+ ];
536
+ };
537
+ });
538
+ const contextTriggerMixin = createMixin((handle) => {
539
+ let context = handle.context.get(MenuProvider);
540
+ let popoverContext = handle.context.get(popover.Context);
541
+ let anchorPoint = { x: 0, y: 0, width: 0, height: 0 };
542
+ function setAnchorPoint({ x, y, width = 0, height = 0 }, options) {
543
+ anchorPoint.x = x;
544
+ anchorPoint.y = y;
545
+ anchorPoint.width = width;
546
+ anchorPoint.height = height;
547
+ popoverContext.anchor = {
548
+ target: anchorPoint,
549
+ options: {
550
+ placement: 'bottom-start',
551
+ ...options,
552
+ },
553
+ };
554
+ }
555
+ return (options = {}, props = options) => {
556
+ if (props === options) {
557
+ options = {};
558
+ }
559
+ return [
560
+ attrs({
561
+ id: handle.id,
562
+ 'aria-controls': context.listId,
563
+ 'aria-expanded': context.isOpen ? 'true' : 'false',
564
+ 'aria-haspopup': 'menu',
565
+ }),
566
+ ref((node, signal) => {
567
+ context.registerTrigger(node, handle.id);
568
+ signal.addEventListener('abort', () => {
569
+ context.unregisterTrigger(node);
570
+ });
571
+ }),
572
+ on('contextmenu', (event) => {
573
+ event.preventDefault();
574
+ event.stopPropagation();
575
+ setAnchorPoint({ x: event.clientX, y: event.clientY }, options);
576
+ void context.open({ strategy: 'list' });
577
+ }),
578
+ on('keydown', (event) => {
579
+ if (event.key !== 'ContextMenu' && !(event.shiftKey && event.key === 'F10')) {
580
+ return;
581
+ }
582
+ event.preventDefault();
583
+ event.stopPropagation();
584
+ let rect = event.currentTarget.getBoundingClientRect();
585
+ setAnchorPoint({
586
+ x: rect.left,
587
+ y: rect.top,
588
+ width: rect.width,
589
+ height: rect.height,
590
+ }, options);
591
+ void context.open({ strategy: 'list' });
592
+ }),
593
+ ];
594
+ };
702
595
  });
703
596
  const popoverMixin = createMixin((handle) => {
704
597
  let context = handle.context.get(MenuProvider);
@@ -1015,6 +908,7 @@ const submenuTriggerMixin = createMixin((handle) => {
1015
908
  };
1016
909
  });
1017
910
  export const Context = MenuProvider;
911
+ export const contextTrigger = contextTriggerMixin;
1018
912
  export const item = itemMixin;
1019
913
  export const list = listMixin;
1020
914
  export { popoverMixin as popover };
@@ -1022,6 +916,7 @@ export const submenuTrigger = submenuTriggerMixin;
1022
916
  export const trigger = triggerMixin;
1023
917
  const menu = {
1024
918
  Context,
919
+ contextTrigger,
1025
920
  item,
1026
921
  list,
1027
922
  popover: popoverMixin,
@@ -1031,61 +926,4 @@ const menu = {
1031
926
  export function onMenuSelect(handler, captureBoolean) {
1032
927
  return on(MENU_SELECT_EVENT, handler, captureBoolean);
1033
928
  }
1034
- export function Menu(handle) {
1035
- let buttonRef;
1036
- return () => {
1037
- let { children, label, menuLabel, mix, type, ...buttonProps } = handle.props;
1038
- return (_jsxs(menu.Context, { label: menuLabel, children: [_jsxs("button", { ...buttonProps, type: type ?? 'button', mix: [
1039
- button.baseStyle,
1040
- button.ghostStyle,
1041
- buttonStyle,
1042
- menu.trigger(),
1043
- ref((node, signal) => {
1044
- buttonRef = node;
1045
- signal.addEventListener('abort', () => {
1046
- if (buttonRef === node) {
1047
- buttonRef = undefined;
1048
- }
1049
- });
1050
- }),
1051
- mix,
1052
- ], children: [_jsx("span", { mix: button.labelStyle, children: label }), _jsx(Glyph, { mix: button.iconStyle, name: "chevronDown" })] }), _jsx(MenuList, { mix: onMenuSelect((event) => {
1053
- if (!buttonRef) {
1054
- return;
1055
- }
1056
- event.stopPropagation();
1057
- buttonRef.dispatchEvent(new MenuSelectEvent(event.item));
1058
- }), children: children })] }));
1059
- };
1060
- }
1061
- export function MenuList(handle) {
1062
- return () => {
1063
- let { children, mix, ...divProps } = handle.props;
1064
- return (_jsx("div", { mix: [popover.surfaceStyle, popoverStyle, menu.popover()], children: _jsx("div", { ...divProps, mix: [listStyle, menu.list(), mix], children: children }) }));
1065
- };
1066
- }
1067
- export function MenuItem(handle) {
1068
- return () => {
1069
- let { checked, children, disabled, label, mix, name, searchValue, type, value, ...divProps } = handle.props;
1070
- return (_jsxs("div", { ...divProps, mix: [
1071
- itemStyle,
1072
- menu.item({ checked, disabled, label, name, searchValue, type, value }),
1073
- mix,
1074
- ], children: [_jsx("span", { mix: itemSlotStyle, children: _jsx(Glyph, { mix: itemGlyphStyle, name: "check" }) }), _jsx("span", { mix: itemLabelStyle, children: children ?? label })] }));
1075
- };
1076
- }
1077
- export function Submenu(handle) {
1078
- return () => {
1079
- let { children, disabled, label, listProps, menuLabel, mix, searchValue, value, ...divProps } = handle.props;
1080
- return (_jsxs(menu.Context, { label: menuLabel, children: [_jsxs("div", { ...divProps, mix: [
1081
- itemStyle,
1082
- menu.submenuTrigger({
1083
- disabled,
1084
- searchValue,
1085
- value,
1086
- }),
1087
- mix,
1088
- ], children: [_jsx("span", { mix: itemSlotStyle, children: _jsx(Glyph, { mix: itemGlyphStyle, name: "check" }) }), _jsx("span", { mix: itemLabelStyle, children: label }), _jsx(Glyph, { mix: triggerGlyphStyle, name: "chevronRight" })] }), _jsx(MenuList, { ...listProps, children: children })] }));
1089
- };
1090
- }
1091
- //# sourceMappingURL=menu.js.map
929
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/menu/primitives.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type CSSMixinDescriptor, type ElementProps, type Handle, type MixinFactory, type RemixNode } from '@remix-run/ui';
2
- import { type AnchorOptions } from '../anchor/anchor.ts';
1
+ import { type ElementProps, type Handle, type MixinFactory, type RemixNode } from '@remix-run/ui';
2
+ import { type AnchorOptions, type AnchorTarget } from '../anchor/index.ts';
3
3
  export interface PopoverContext {
4
4
  hideFocusTarget: HTMLElement | null;
5
5
  showFocusTarget: HTMLElement | null;
@@ -10,11 +10,9 @@ export interface PopoverProps {
10
10
  children?: RemixNode;
11
11
  }
12
12
  interface AnchorRef {
13
- node: HTMLElement;
13
+ target: AnchorTarget;
14
14
  options: AnchorOptions;
15
15
  }
16
- export declare const contentStyle: CSSMixinDescriptor;
17
- export declare const surfaceStyle: readonly [CSSMixinDescriptor, CSSMixinDescriptor];
18
16
  declare function PopoverProvider(handle: Handle<PopoverProps, PopoverContext>): () => RemixNode;
19
17
  export interface PopoverSurfaceOptions {
20
18
  open: boolean;
@@ -1,50 +1,7 @@
1
- import { attrs, createMixin, css, on, } from '@remix-run/ui';
2
- import { anchor as positionAnchor } from "../anchor/anchor.js";
3
- import { onOutsideClick } from "../../interactions/outside-click/outside-click-mixin.js";
4
- import { theme } from "../../theme/theme.js";
5
- import { lockScroll } from "../../utils/scroll-lock.js";
6
- const popupViewportClampMaxHeight = '50dvh';
7
- const popoverSurfaceTransitionCss = css({
8
- opacity: 0,
9
- '&:popover-open': {
10
- opacity: 1,
11
- },
12
- '&:not(:popover-open)': {
13
- pointerEvents: 'none',
14
- transition: 'opacity 180ms ease-in, overlay 180ms ease-in, display 180ms ease-in',
15
- transitionBehavior: 'allow-discrete',
16
- },
17
- });
18
- const popoverContentCss = css({
19
- flex: '1 1 auto',
20
- minHeight: 0,
21
- padding: theme.space.xs,
22
- overflow: 'auto',
23
- overscrollBehavior: 'contain',
24
- });
25
- const popoverSurfaceCss = css({
26
- position: 'fixed',
27
- inset: 'auto',
28
- margin: 0,
29
- padding: theme.space.none,
30
- display: 'flex',
31
- flexDirection: 'column',
32
- minHeight: 0,
33
- minWidth: '12rem',
34
- maxWidth: `min(24rem, calc(100vw - (${theme.space.lg} * 2)))`,
35
- maxHeight: popupViewportClampMaxHeight,
36
- border: `1px solid ${theme.colors.border.subtle}`,
37
- borderRadius: theme.radius.lg,
38
- backgroundColor: theme.surface.lvl0,
39
- color: theme.colors.text.primary,
40
- overflow: 'hidden',
41
- boxShadow: `${theme.shadow.xs}, ${theme.shadow.md}`,
42
- '&::backdrop': {
43
- background: 'transparent',
44
- },
45
- });
46
- export const contentStyle = popoverContentCss;
47
- export const surfaceStyle = [popoverSurfaceCss, popoverSurfaceTransitionCss];
1
+ import { attrs, createMixin, on, } from '@remix-run/ui';
2
+ import { anchor as positionAnchor } from "../anchor/index.js";
3
+ import { onOutsideClick } from "./outside-click.js";
4
+ import { lockScroll } from "./scroll-lock.js";
48
5
  function PopoverProvider(handle) {
49
6
  handle.context.set({
50
7
  hideFocusTarget: null,
@@ -58,10 +15,13 @@ const anchorMixin = createMixin((handle) => {
58
15
  let context = handle.context.get(PopoverProvider);
59
16
  return (options) => {
60
17
  handle.queueTask((node) => {
61
- context.anchor = { node, options };
18
+ context.anchor = { target: node, options };
62
19
  });
63
20
  };
64
21
  });
22
+ function anchorContains(anchor, target) {
23
+ return anchor?.target instanceof HTMLElement && anchor.target.contains(target);
24
+ }
65
25
  const surfaceMixin = createMixin((handle) => {
66
26
  let openProp = false;
67
27
  let cleanupAnchor = () => { };
@@ -90,7 +50,11 @@ const surfaceMixin = createMixin((handle) => {
90
50
  attrs({ popover: 'manual' }),
91
51
  on('beforetoggle', (event) => {
92
52
  if (event.newState === 'open') {
93
- cleanupAnchor = positionAnchor(event.currentTarget, context.anchor.node, context.anchor.options);
53
+ let anchor = context.anchor;
54
+ if (!anchor) {
55
+ throw new Error('popover.surface() requires a registered anchor before opening');
56
+ }
57
+ cleanupAnchor = positionAnchor(event.currentTarget, anchor.target, anchor.options);
94
58
  unlockScroll = lockScroll();
95
59
  }
96
60
  else if (event.newState === 'closed') {
@@ -114,7 +78,7 @@ const surfaceMixin = createMixin((handle) => {
114
78
  }),
115
79
  onOutsideClick(openProp, (target) => {
116
80
  options.onHide({ reason: 'outside-click', target });
117
- }, (target) => options.closeOnAnchorClick === false && !!context.anchor?.node.contains(target), options.stopOutsideClickPropagation ?? true),
81
+ }, (target) => options.closeOnAnchorClick === false && anchorContains(context.anchor, target), options.stopOutsideClickPropagation ?? true),
118
82
  ];
119
83
  };
120
84
  });
@@ -135,4 +99,4 @@ export const anchor = anchorMixin;
135
99
  export const surface = surfaceMixin;
136
100
  export const focusOnHide = focusOnHideMixin;
137
101
  export const focusOnShow = focusOnShowMixin;
138
- //# sourceMappingURL=popover.js.map
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/popover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,EAAE,GAKH,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,IAAI,cAAc,EAAyC,MAAM,oBAAoB,CAAA;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAkB7C,SAAS,eAAe,CAAC,MAA4C;IACnE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACjB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAA;AACpC,CAAC;AAeD,MAAM,WAAW,GAAsE,WAAW,CAGhG,CAAC,MAAM,EAAE,EAAE;IACX,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACjD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,SAAS,cAAc,CAAC,MAAwB,EAAE,MAAY;IAC5D,OAAO,MAAM,EAAE,MAAM,YAAY,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,YAAY,GAChB,WAAW,CAAgD,CAAC,MAAM,EAAE,EAAE;IACpE,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IAC5B,IAAI,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IAC3B,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEjD,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAEtB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;YACxB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,OAAO,GAAG,QAAQ,CAAA;QACtB,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;QAEvB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;iBAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAE5B,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3B,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC9B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;oBAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;oBAClF,CAAC;oBAED,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;oBAClF,YAAY,GAAG,UAAU,EAAE,CAAA;gBAC7B,CAAC;qBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACvC,aAAa,EAAE,CAAA;oBACf,YAAY,EAAE,CAAA;gBAChB,CAAC;YACH,CAAC,CAAC;YAEF,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC3B,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC9B,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,CAAA;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;oBAC/E,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,CAAA;gBAClC,CAAC;YACH,CAAC,CAAC;YAEF,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC,CAAC;YAEF,cAAc,CACZ,QAAQ,EACR,CAAC,MAAM,EAAE,EAAE;gBACT,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAA;YACrD,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CACT,OAAO,CAAC,kBAAkB,KAAK,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAChF,OAAO,CAAC,2BAA2B,IAAI,IAAI,CAC5C;SACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,gBAAgB,GAAgD,WAAW,CAC/E,CAAC,MAAM,EAAE,EAAE;IACT,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACjD,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA;AAED,MAAM,gBAAgB,GAAgD,WAAW,CAC/E,CAAC,MAAM,EAAE,EAAE;IACT,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACjD,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAA;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA"}
@@ -26,4 +26,4 @@ const onOutsideClick = createMixin((handle) => {
26
26
  };
27
27
  });
28
28
  export { onOutsideClick };
29
- //# sourceMappingURL=outside-click-mixin.js.map
29
+ //# sourceMappingURL=outside-click.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outside-click.js","sourceRoot":"","sources":["../../src/popover/outside-click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,MAAM,cAAc,GAAG,WAAW,CAQhC,CAAC,MAAM,EAAE,EAAE;IACX,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,OAAO,GAAkC,GAAG,EAAE,GAAE,CAAC,CAAA;IACrD,IAAI,cAAc,GAAwB,GAAG,EAAE,CAAC,KAAK,CAAA;IACrD,IAAI,eAAe,GAAG,IAAI,CAAA;IAE1B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAA;QAE5B,GAAG,CAAC,gBAAgB,CAClB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;YAE/D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,OAAM;YACR,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,CAAC,eAAe,EAAE,CAAA;YACzB,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CACzC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,UAAU,EACV,WAAW,EACX,kBAAkB,GAAG,GAAG,EAAE,CAAC,KAAK,EAChC,mBAAmB,GAAG,IAAI,EAC1B,EAAE;QACF,MAAM,GAAG,UAAU,CAAA;QACnB,OAAO,GAAG,WAAW,CAAA;QACrB,cAAc,GAAG,kBAAkB,CAAA;QACnC,eAAe,GAAG,mBAAmB,CAAA;IACvC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ export declare function lockScroll(targetDocument?: Document | undefined): () => void;