@vielzeug/refine 1.1.1

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 (1097) hide show
  1. package/README.md +89 -0
  2. package/dist/_dev.cjs +2 -0
  3. package/dist/_dev.cjs.map +1 -0
  4. package/dist/_dev.d.ts +2 -0
  5. package/dist/_dev.d.ts.map +1 -0
  6. package/dist/_dev.js +9 -0
  7. package/dist/_dev.js.map +1 -0
  8. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  9. package/dist/accordion-item.cjs +26 -0
  10. package/dist/accordion-item.cjs.map +1 -0
  11. package/dist/accordion-item.js +124 -0
  12. package/dist/accordion-item.js.map +1 -0
  13. package/dist/accordion.cjs +2 -0
  14. package/dist/accordion.cjs.map +1 -0
  15. package/dist/accordion.js +47 -0
  16. package/dist/accordion.js.map +1 -0
  17. package/dist/alert.cjs +36 -0
  18. package/dist/alert.cjs.map +1 -0
  19. package/dist/alert.js +93 -0
  20. package/dist/alert.js.map +1 -0
  21. package/dist/async.cjs +55 -0
  22. package/dist/async.cjs.map +1 -0
  23. package/dist/async.js +99 -0
  24. package/dist/async.js.map +1 -0
  25. package/dist/avatar.cjs +18 -0
  26. package/dist/avatar.cjs.map +1 -0
  27. package/dist/avatar.js +108 -0
  28. package/dist/avatar.js.map +1 -0
  29. package/dist/badge.cjs +7 -0
  30. package/dist/badge.cjs.map +1 -0
  31. package/dist/badge.js +65 -0
  32. package/dist/badge.js.map +1 -0
  33. package/dist/box.cjs +2 -0
  34. package/dist/box.cjs.map +1 -0
  35. package/dist/box.js +31 -0
  36. package/dist/box.js.map +1 -0
  37. package/dist/breadcrumb.cjs +21 -0
  38. package/dist/breadcrumb.cjs.map +1 -0
  39. package/dist/breadcrumb.js +57 -0
  40. package/dist/breadcrumb.js.map +1 -0
  41. package/dist/button-group.cjs +6 -0
  42. package/dist/button-group.cjs.map +1 -0
  43. package/dist/button-group.js +33 -0
  44. package/dist/button-group.js.map +1 -0
  45. package/dist/button.cjs +18 -0
  46. package/dist/button.cjs.map +1 -0
  47. package/dist/button.js +124 -0
  48. package/dist/button.js.map +1 -0
  49. package/dist/calendar.cjs +126 -0
  50. package/dist/calendar.cjs.map +1 -0
  51. package/dist/calendar.js +300 -0
  52. package/dist/calendar.js.map +1 -0
  53. package/dist/card.cjs +23 -0
  54. package/dist/card.cjs.map +1 -0
  55. package/dist/card.js +87 -0
  56. package/dist/card.js.map +1 -0
  57. package/dist/carousel.cjs +61 -0
  58. package/dist/carousel.cjs.map +1 -0
  59. package/dist/carousel.js +280 -0
  60. package/dist/carousel.js.map +1 -0
  61. package/dist/checkbox-group.cjs +18 -0
  62. package/dist/checkbox-group.cjs.map +1 -0
  63. package/dist/checkbox-group.js +118 -0
  64. package/dist/checkbox-group.js.map +1 -0
  65. package/dist/checkbox.cjs +11 -0
  66. package/dist/checkbox.cjs.map +1 -0
  67. package/dist/checkbox.js +88 -0
  68. package/dist/checkbox.js.map +1 -0
  69. package/dist/chip.cjs +42 -0
  70. package/dist/chip.cjs.map +1 -0
  71. package/dist/chip.js +133 -0
  72. package/dist/chip.js.map +1 -0
  73. package/dist/code-window.cjs +19 -0
  74. package/dist/code-window.cjs.map +1 -0
  75. package/dist/code-window.js +41 -0
  76. package/dist/code-window.js.map +1 -0
  77. package/dist/combobox.cjs +103 -0
  78. package/dist/combobox.cjs.map +1 -0
  79. package/dist/combobox.js +444 -0
  80. package/dist/combobox.js.map +1 -0
  81. package/dist/content/avatar/avatar-group.css?inline.cjs +2 -0
  82. package/dist/content/avatar/avatar-group.css?inline.cjs.map +1 -0
  83. package/dist/content/avatar/avatar-group.css?inline.js +6 -0
  84. package/dist/content/avatar/avatar-group.css?inline.js.map +1 -0
  85. package/dist/content/avatar/avatar.css?inline.cjs +2 -0
  86. package/dist/content/avatar/avatar.css?inline.cjs.map +1 -0
  87. package/dist/content/avatar/avatar.css?inline.js +6 -0
  88. package/dist/content/avatar/avatar.css?inline.js.map +1 -0
  89. package/dist/content/avatar/avatar.d.ts +88 -0
  90. package/dist/content/avatar/avatar.d.ts.map +1 -0
  91. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs +2 -0
  92. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs.map +1 -0
  93. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js +6 -0
  94. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js.map +1 -0
  95. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs +2 -0
  96. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs.map +1 -0
  97. package/dist/content/breadcrumb/breadcrumb.css?inline.js +6 -0
  98. package/dist/content/breadcrumb/breadcrumb.css?inline.js.map +1 -0
  99. package/dist/content/breadcrumb/breadcrumb.d.ts +57 -0
  100. package/dist/content/breadcrumb/breadcrumb.d.ts.map +1 -0
  101. package/dist/content/card/card.css?inline.cjs +2 -0
  102. package/dist/content/card/card.css?inline.cjs.map +1 -0
  103. package/dist/content/card/card.css?inline.js +6 -0
  104. package/dist/content/card/card.css?inline.js.map +1 -0
  105. package/dist/content/card/card.d.ts +74 -0
  106. package/dist/content/card/card.d.ts.map +1 -0
  107. package/dist/content/carousel/carousel-slide.cjs +2 -0
  108. package/dist/content/carousel/carousel-slide.cjs.map +1 -0
  109. package/dist/content/carousel/carousel-slide.css?inline.cjs +2 -0
  110. package/dist/content/carousel/carousel-slide.css?inline.cjs.map +1 -0
  111. package/dist/content/carousel/carousel-slide.css?inline.js +6 -0
  112. package/dist/content/carousel/carousel-slide.css?inline.js.map +1 -0
  113. package/dist/content/carousel/carousel-slide.d.ts +2 -0
  114. package/dist/content/carousel/carousel-slide.d.ts.map +1 -0
  115. package/dist/content/carousel/carousel-slide.js +18 -0
  116. package/dist/content/carousel/carousel-slide.js.map +1 -0
  117. package/dist/content/carousel/carousel.css?inline.cjs +2 -0
  118. package/dist/content/carousel/carousel.css?inline.cjs.map +1 -0
  119. package/dist/content/carousel/carousel.css?inline.js +6 -0
  120. package/dist/content/carousel/carousel.css?inline.js.map +1 -0
  121. package/dist/content/carousel/carousel.d.ts +110 -0
  122. package/dist/content/carousel/carousel.d.ts.map +1 -0
  123. package/dist/content/carousel/index.d.ts +3 -0
  124. package/dist/content/carousel/index.d.ts.map +1 -0
  125. package/dist/content/code-window/code-window.css?inline.cjs +2 -0
  126. package/dist/content/code-window/code-window.css?inline.cjs.map +1 -0
  127. package/dist/content/code-window/code-window.css?inline.js +6 -0
  128. package/dist/content/code-window/code-window.css?inline.js.map +1 -0
  129. package/dist/content/code-window/code-window.d.ts +61 -0
  130. package/dist/content/code-window/code-window.d.ts.map +1 -0
  131. package/dist/content/copy-command/copy-command.css?inline.cjs +2 -0
  132. package/dist/content/copy-command/copy-command.css?inline.cjs.map +1 -0
  133. package/dist/content/copy-command/copy-command.css?inline.js +6 -0
  134. package/dist/content/copy-command/copy-command.css?inline.js.map +1 -0
  135. package/dist/content/copy-command/copy-command.d.ts +66 -0
  136. package/dist/content/copy-command/copy-command.d.ts.map +1 -0
  137. package/dist/content/icon/icon.css?inline.cjs +2 -0
  138. package/dist/content/icon/icon.css?inline.cjs.map +1 -0
  139. package/dist/content/icon/icon.css?inline.js +6 -0
  140. package/dist/content/icon/icon.css?inline.js.map +1 -0
  141. package/dist/content/icon/icon.d.ts +45 -0
  142. package/dist/content/icon/icon.d.ts.map +1 -0
  143. package/dist/content/index.d.ts +23 -0
  144. package/dist/content/index.d.ts.map +1 -0
  145. package/dist/content/pagination/pagination.css?inline.cjs +2 -0
  146. package/dist/content/pagination/pagination.css?inline.cjs.map +1 -0
  147. package/dist/content/pagination/pagination.css?inline.js +6 -0
  148. package/dist/content/pagination/pagination.css?inline.js.map +1 -0
  149. package/dist/content/pagination/pagination.d.ts +61 -0
  150. package/dist/content/pagination/pagination.d.ts.map +1 -0
  151. package/dist/content/separator/separator.css?inline.cjs +2 -0
  152. package/dist/content/separator/separator.css?inline.cjs.map +1 -0
  153. package/dist/content/separator/separator.css?inline.js +6 -0
  154. package/dist/content/separator/separator.css?inline.js.map +1 -0
  155. package/dist/content/separator/separator.d.ts +38 -0
  156. package/dist/content/separator/separator.d.ts.map +1 -0
  157. package/dist/content/table/table.css?inline.cjs +2 -0
  158. package/dist/content/table/table.css?inline.cjs.map +1 -0
  159. package/dist/content/table/table.css?inline.js +6 -0
  160. package/dist/content/table/table.css?inline.js.map +1 -0
  161. package/dist/content/table/table.d.ts +76 -0
  162. package/dist/content/table/table.d.ts.map +1 -0
  163. package/dist/content/text/text.css?inline.cjs +2 -0
  164. package/dist/content/text/text.css?inline.cjs.map +1 -0
  165. package/dist/content/text/text.css?inline.js +6 -0
  166. package/dist/content/text/text.css?inline.js.map +1 -0
  167. package/dist/content/text/text.d.ts +55 -0
  168. package/dist/content/text/text.d.ts.map +1 -0
  169. package/dist/copy-command.cjs +17 -0
  170. package/dist/copy-command.cjs.map +1 -0
  171. package/dist/copy-command.js +55 -0
  172. package/dist/copy-command.js.map +1 -0
  173. package/dist/custom-elements.json +12641 -0
  174. package/dist/datagrid.cjs +435 -0
  175. package/dist/datagrid.cjs.map +1 -0
  176. package/dist/datagrid.js +764 -0
  177. package/dist/datagrid.js.map +1 -0
  178. package/dist/date-picker.cjs +133 -0
  179. package/dist/date-picker.cjs.map +1 -0
  180. package/dist/date-picker.js +315 -0
  181. package/dist/date-picker.js.map +1 -0
  182. package/dist/dialog.cjs +28 -0
  183. package/dist/dialog.cjs.map +1 -0
  184. package/dist/dialog.js +88 -0
  185. package/dist/dialog.js.map +1 -0
  186. package/dist/disclosure/accordion/accordion.css?inline.cjs +2 -0
  187. package/dist/disclosure/accordion/accordion.css?inline.cjs.map +1 -0
  188. package/dist/disclosure/accordion/accordion.css?inline.js +6 -0
  189. package/dist/disclosure/accordion/accordion.css?inline.js.map +1 -0
  190. package/dist/disclosure/accordion/accordion.d.ts +62 -0
  191. package/dist/disclosure/accordion/accordion.d.ts.map +1 -0
  192. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs +2 -0
  193. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs.map +1 -0
  194. package/dist/disclosure/accordion-item/accordion-item.css?inline.js +6 -0
  195. package/dist/disclosure/accordion-item/accordion-item.css?inline.js.map +1 -0
  196. package/dist/disclosure/accordion-item/accordion-item.d.ts +70 -0
  197. package/dist/disclosure/accordion-item/accordion-item.d.ts.map +1 -0
  198. package/dist/disclosure/index.d.ts +11 -0
  199. package/dist/disclosure/index.d.ts.map +1 -0
  200. package/dist/disclosure/tab-item/tab-item.css?inline.cjs +2 -0
  201. package/dist/disclosure/tab-item/tab-item.css?inline.cjs.map +1 -0
  202. package/dist/disclosure/tab-item/tab-item.css?inline.js +6 -0
  203. package/dist/disclosure/tab-item/tab-item.css?inline.js.map +1 -0
  204. package/dist/disclosure/tab-item/tab-item.d.ts +49 -0
  205. package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -0
  206. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs +2 -0
  207. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs.map +1 -0
  208. package/dist/disclosure/tab-panel/tab-panel.css?inline.js +6 -0
  209. package/dist/disclosure/tab-panel/tab-panel.css?inline.js.map +1 -0
  210. package/dist/disclosure/tab-panel/tab-panel.d.ts +33 -0
  211. package/dist/disclosure/tab-panel/tab-panel.d.ts.map +1 -0
  212. package/dist/disclosure/tabs/tabs.css?inline.cjs +2 -0
  213. package/dist/disclosure/tabs/tabs.css?inline.cjs.map +1 -0
  214. package/dist/disclosure/tabs/tabs.css?inline.js +6 -0
  215. package/dist/disclosure/tabs/tabs.css?inline.js.map +1 -0
  216. package/dist/disclosure/tabs/tabs.d.ts +75 -0
  217. package/dist/disclosure/tabs/tabs.d.ts.map +1 -0
  218. package/dist/drawer.cjs +32 -0
  219. package/dist/drawer.cjs.map +1 -0
  220. package/dist/drawer.js +199 -0
  221. package/dist/drawer.js.map +1 -0
  222. package/dist/errors.cjs +2 -0
  223. package/dist/errors.cjs.map +1 -0
  224. package/dist/errors.d.ts +9 -0
  225. package/dist/errors.d.ts.map +1 -0
  226. package/dist/errors.js +13 -0
  227. package/dist/errors.js.map +1 -0
  228. package/dist/feedback/alert/alert.css?inline.cjs +2 -0
  229. package/dist/feedback/alert/alert.css?inline.cjs.map +1 -0
  230. package/dist/feedback/alert/alert.css?inline.js +6 -0
  231. package/dist/feedback/alert/alert.css?inline.js.map +1 -0
  232. package/dist/feedback/alert/alert.d.ts +74 -0
  233. package/dist/feedback/alert/alert.d.ts.map +1 -0
  234. package/dist/feedback/async/async.css?inline.cjs +2 -0
  235. package/dist/feedback/async/async.css?inline.cjs.map +1 -0
  236. package/dist/feedback/async/async.css?inline.js +6 -0
  237. package/dist/feedback/async/async.css?inline.js.map +1 -0
  238. package/dist/feedback/async/async.d.ts +54 -0
  239. package/dist/feedback/async/async.d.ts.map +1 -0
  240. package/dist/feedback/badge/badge.css?inline.cjs +2 -0
  241. package/dist/feedback/badge/badge.css?inline.cjs.map +1 -0
  242. package/dist/feedback/badge/badge.css?inline.js +6 -0
  243. package/dist/feedback/badge/badge.css?inline.js.map +1 -0
  244. package/dist/feedback/badge/badge.d.ts +69 -0
  245. package/dist/feedback/badge/badge.d.ts.map +1 -0
  246. package/dist/feedback/chip/chip.css?inline.cjs +2 -0
  247. package/dist/feedback/chip/chip.css?inline.cjs.map +1 -0
  248. package/dist/feedback/chip/chip.css?inline.js +6 -0
  249. package/dist/feedback/chip/chip.css?inline.js.map +1 -0
  250. package/dist/feedback/chip/chip.d.ts +136 -0
  251. package/dist/feedback/chip/chip.d.ts.map +1 -0
  252. package/dist/feedback/index.d.ts +17 -0
  253. package/dist/feedback/index.d.ts.map +1 -0
  254. package/dist/feedback/password-strength/password-strength.css?inline.cjs +2 -0
  255. package/dist/feedback/password-strength/password-strength.css?inline.cjs.map +1 -0
  256. package/dist/feedback/password-strength/password-strength.css?inline.js +6 -0
  257. package/dist/feedback/password-strength/password-strength.css?inline.js.map +1 -0
  258. package/dist/feedback/password-strength/password-strength.d.ts +66 -0
  259. package/dist/feedback/password-strength/password-strength.d.ts.map +1 -0
  260. package/dist/feedback/progress/progress.css?inline.cjs +2 -0
  261. package/dist/feedback/progress/progress.css?inline.cjs.map +1 -0
  262. package/dist/feedback/progress/progress.css?inline.js +6 -0
  263. package/dist/feedback/progress/progress.css?inline.js.map +1 -0
  264. package/dist/feedback/progress/progress.d.ts +68 -0
  265. package/dist/feedback/progress/progress.d.ts.map +1 -0
  266. package/dist/feedback/skeleton/skeleton.css?inline.cjs +2 -0
  267. package/dist/feedback/skeleton/skeleton.css?inline.cjs.map +1 -0
  268. package/dist/feedback/skeleton/skeleton.css?inline.js +6 -0
  269. package/dist/feedback/skeleton/skeleton.css?inline.js.map +1 -0
  270. package/dist/feedback/skeleton/skeleton.d.ts +63 -0
  271. package/dist/feedback/skeleton/skeleton.d.ts.map +1 -0
  272. package/dist/feedback/toast/index.d.ts +2 -0
  273. package/dist/feedback/toast/index.d.ts.map +1 -0
  274. package/dist/feedback/toast/toast.css?inline.cjs +2 -0
  275. package/dist/feedback/toast/toast.css?inline.cjs.map +1 -0
  276. package/dist/feedback/toast/toast.css?inline.js +6 -0
  277. package/dist/feedback/toast/toast.css?inline.js.map +1 -0
  278. package/dist/feedback/toast/toast.d.ts +127 -0
  279. package/dist/feedback/toast/toast.d.ts.map +1 -0
  280. package/dist/file-input.cjs +70 -0
  281. package/dist/file-input.cjs.map +1 -0
  282. package/dist/file-input.js +209 -0
  283. package/dist/file-input.js.map +1 -0
  284. package/dist/form.cjs +11 -0
  285. package/dist/form.cjs.map +1 -0
  286. package/dist/form.js +56 -0
  287. package/dist/form.js.map +1 -0
  288. package/dist/grid-item.cjs +2 -0
  289. package/dist/grid-item.cjs.map +1 -0
  290. package/dist/grid-item.js +35 -0
  291. package/dist/grid-item.js.map +1 -0
  292. package/dist/grid.cjs +2 -0
  293. package/dist/grid.cjs.map +1 -0
  294. package/dist/grid.js +90 -0
  295. package/dist/grid.js.map +1 -0
  296. package/dist/headless/_internal.d.ts +17 -0
  297. package/dist/headless/_internal.d.ts.map +1 -0
  298. package/dist/headless/announcer.cjs +2 -0
  299. package/dist/headless/announcer.cjs.map +1 -0
  300. package/dist/headless/announcer.d.ts +25 -0
  301. package/dist/headless/announcer.d.ts.map +1 -0
  302. package/dist/headless/announcer.js +24 -0
  303. package/dist/headless/announcer.js.map +1 -0
  304. package/dist/headless/checkable.cjs +2 -0
  305. package/dist/headless/checkable.cjs.map +1 -0
  306. package/dist/headless/checkable.d.ts +42 -0
  307. package/dist/headless/checkable.d.ts.map +1 -0
  308. package/dist/headless/checkable.js +36 -0
  309. package/dist/headless/checkable.js.map +1 -0
  310. package/dist/headless/choice-field.cjs +2 -0
  311. package/dist/headless/choice-field.cjs.map +1 -0
  312. package/dist/headless/choice-field.d.ts +36 -0
  313. package/dist/headless/choice-field.d.ts.map +1 -0
  314. package/dist/headless/choice-field.js +42 -0
  315. package/dist/headless/choice-field.js.map +1 -0
  316. package/dist/headless/datagrid.cjs +2 -0
  317. package/dist/headless/datagrid.cjs.map +1 -0
  318. package/dist/headless/datagrid.d.ts +158 -0
  319. package/dist/headless/datagrid.d.ts.map +1 -0
  320. package/dist/headless/datagrid.js +55 -0
  321. package/dist/headless/datagrid.js.map +1 -0
  322. package/dist/headless/date-picker.cjs +2 -0
  323. package/dist/headless/date-picker.cjs.map +1 -0
  324. package/dist/headless/date-picker.d.ts +114 -0
  325. package/dist/headless/date-picker.d.ts.map +1 -0
  326. package/dist/headless/date-picker.js +184 -0
  327. package/dist/headless/date-picker.js.map +1 -0
  328. package/dist/headless/dialog-focus.cjs +2 -0
  329. package/dist/headless/dialog-focus.cjs.map +1 -0
  330. package/dist/headless/dialog-focus.d.ts +40 -0
  331. package/dist/headless/dialog-focus.d.ts.map +1 -0
  332. package/dist/headless/dialog-focus.js +22 -0
  333. package/dist/headless/dialog-focus.js.map +1 -0
  334. package/dist/headless/direction.cjs +2 -0
  335. package/dist/headless/direction.cjs.map +1 -0
  336. package/dist/headless/direction.d.ts +11 -0
  337. package/dist/headless/direction.d.ts.map +1 -0
  338. package/dist/headless/direction.js +14 -0
  339. package/dist/headless/direction.js.map +1 -0
  340. package/dist/headless/field-base.cjs +2 -0
  341. package/dist/headless/field-base.cjs.map +1 -0
  342. package/dist/headless/field-base.d.ts +148 -0
  343. package/dist/headless/field-base.d.ts.map +1 -0
  344. package/dist/headless/field-base.js +46 -0
  345. package/dist/headless/field-base.js.map +1 -0
  346. package/dist/headless/focus-trap.cjs +2 -0
  347. package/dist/headless/focus-trap.cjs.map +1 -0
  348. package/dist/headless/focus-trap.d.ts +45 -0
  349. package/dist/headless/focus-trap.d.ts.map +1 -0
  350. package/dist/headless/focus-trap.js +51 -0
  351. package/dist/headless/focus-trap.js.map +1 -0
  352. package/dist/headless/focus.cjs +2 -0
  353. package/dist/headless/focus.cjs.map +1 -0
  354. package/dist/headless/focus.d.ts +34 -0
  355. package/dist/headless/focus.d.ts.map +1 -0
  356. package/dist/headless/focus.js +34 -0
  357. package/dist/headless/focus.js.map +1 -0
  358. package/dist/headless/index.d.ts +28 -0
  359. package/dist/headless/index.d.ts.map +1 -0
  360. package/dist/headless/keyboard.cjs +2 -0
  361. package/dist/headless/keyboard.cjs.map +1 -0
  362. package/dist/headless/keyboard.d.ts +52 -0
  363. package/dist/headless/keyboard.d.ts.map +1 -0
  364. package/dist/headless/keyboard.js +29 -0
  365. package/dist/headless/keyboard.js.map +1 -0
  366. package/dist/headless/light-dom.cjs +2 -0
  367. package/dist/headless/light-dom.cjs.map +1 -0
  368. package/dist/headless/light-dom.d.ts +12 -0
  369. package/dist/headless/light-dom.d.ts.map +1 -0
  370. package/dist/headless/light-dom.js +6 -0
  371. package/dist/headless/light-dom.js.map +1 -0
  372. package/dist/headless/nav.cjs +2 -0
  373. package/dist/headless/nav.cjs.map +1 -0
  374. package/dist/headless/nav.d.ts +66 -0
  375. package/dist/headless/nav.d.ts.map +1 -0
  376. package/dist/headless/nav.js +115 -0
  377. package/dist/headless/nav.js.map +1 -0
  378. package/dist/headless/numbers.cjs +2 -0
  379. package/dist/headless/numbers.cjs.map +1 -0
  380. package/dist/headless/numbers.d.ts +14 -0
  381. package/dist/headless/numbers.d.ts.map +1 -0
  382. package/dist/headless/numbers.js +9 -0
  383. package/dist/headless/numbers.js.map +1 -0
  384. package/dist/headless/option-list.cjs +2 -0
  385. package/dist/headless/option-list.cjs.map +1 -0
  386. package/dist/headless/option-list.d.ts +107 -0
  387. package/dist/headless/option-list.d.ts.map +1 -0
  388. package/dist/headless/option-list.js +66 -0
  389. package/dist/headless/option-list.js.map +1 -0
  390. package/dist/headless/ore.cjs +2 -0
  391. package/dist/headless/ore.cjs.map +1 -0
  392. package/dist/headless/ore.d.ts +20 -0
  393. package/dist/headless/ore.d.ts.map +1 -0
  394. package/dist/headless/ore.js +9 -0
  395. package/dist/headless/ore.js.map +1 -0
  396. package/dist/headless/overlay.cjs +2 -0
  397. package/dist/headless/overlay.cjs.map +1 -0
  398. package/dist/headless/overlay.d.ts +62 -0
  399. package/dist/headless/overlay.d.ts.map +1 -0
  400. package/dist/headless/overlay.js +29 -0
  401. package/dist/headless/overlay.js.map +1 -0
  402. package/dist/headless/paginated-list.cjs +2 -0
  403. package/dist/headless/paginated-list.cjs.map +1 -0
  404. package/dist/headless/paginated-list.d.ts +42 -0
  405. package/dist/headless/paginated-list.d.ts.map +1 -0
  406. package/dist/headless/paginated-list.js +34 -0
  407. package/dist/headless/paginated-list.js.map +1 -0
  408. package/dist/headless/parse.cjs +2 -0
  409. package/dist/headless/parse.cjs.map +1 -0
  410. package/dist/headless/parse.d.ts +15 -0
  411. package/dist/headless/parse.d.ts.map +1 -0
  412. package/dist/headless/parse.js +9 -0
  413. package/dist/headless/parse.js.map +1 -0
  414. package/dist/headless/positioner.cjs +2 -0
  415. package/dist/headless/positioner.cjs.map +1 -0
  416. package/dist/headless/positioner.d.ts +40 -0
  417. package/dist/headless/positioner.d.ts.map +1 -0
  418. package/dist/headless/positioner.js +38 -0
  419. package/dist/headless/positioner.js.map +1 -0
  420. package/dist/headless/selection-control.cjs +2 -0
  421. package/dist/headless/selection-control.cjs.map +1 -0
  422. package/dist/headless/selection-control.d.ts +30 -0
  423. package/dist/headless/selection-control.d.ts.map +1 -0
  424. package/dist/headless/selection-control.js +44 -0
  425. package/dist/headless/selection-control.js.map +1 -0
  426. package/dist/headless/signals.cjs +2 -0
  427. package/dist/headless/signals.cjs.map +1 -0
  428. package/dist/headless/signals.d.ts +20 -0
  429. package/dist/headless/signals.d.ts.map +1 -0
  430. package/dist/headless/signals.js +12 -0
  431. package/dist/headless/signals.js.map +1 -0
  432. package/dist/headless/slider.cjs +2 -0
  433. package/dist/headless/slider.cjs.map +1 -0
  434. package/dist/headless/slider.d.ts +28 -0
  435. package/dist/headless/slider.d.ts.map +1 -0
  436. package/dist/headless/slider.js +40 -0
  437. package/dist/headless/slider.js.map +1 -0
  438. package/dist/headless/sort-control.cjs +2 -0
  439. package/dist/headless/sort-control.cjs.map +1 -0
  440. package/dist/headless/sort-control.d.ts +22 -0
  441. package/dist/headless/sort-control.d.ts.map +1 -0
  442. package/dist/headless/sort-control.js +36 -0
  443. package/dist/headless/sort-control.js.map +1 -0
  444. package/dist/headless/spinner.cjs +2 -0
  445. package/dist/headless/spinner.cjs.map +1 -0
  446. package/dist/headless/spinner.d.ts +19 -0
  447. package/dist/headless/spinner.d.ts.map +1 -0
  448. package/dist/headless/spinner.js +52 -0
  449. package/dist/headless/spinner.js.map +1 -0
  450. package/dist/headless/swipe.cjs +2 -0
  451. package/dist/headless/swipe.cjs.map +1 -0
  452. package/dist/headless/swipe.d.ts +38 -0
  453. package/dist/headless/swipe.d.ts.map +1 -0
  454. package/dist/headless/swipe.js +58 -0
  455. package/dist/headless/swipe.js.map +1 -0
  456. package/dist/headless/text-field.cjs +2 -0
  457. package/dist/headless/text-field.cjs.map +1 -0
  458. package/dist/headless/text-field.d.ts +45 -0
  459. package/dist/headless/text-field.d.ts.map +1 -0
  460. package/dist/headless/text-field.js +41 -0
  461. package/dist/headless/text-field.js.map +1 -0
  462. package/dist/headless/typeahead.cjs +2 -0
  463. package/dist/headless/typeahead.cjs.map +1 -0
  464. package/dist/headless/typeahead.d.ts +53 -0
  465. package/dist/headless/typeahead.d.ts.map +1 -0
  466. package/dist/headless/typeahead.js +23 -0
  467. package/dist/headless/typeahead.js.map +1 -0
  468. package/dist/headless.cjs +1 -0
  469. package/dist/headless.js +26 -0
  470. package/dist/icon.cjs +2 -0
  471. package/dist/icon.cjs.map +1 -0
  472. package/dist/icon.js +87 -0
  473. package/dist/icon.js.map +1 -0
  474. package/dist/index.cjs +1 -0
  475. package/dist/index.d.ts +9 -0
  476. package/dist/index.d.ts.map +1 -0
  477. package/dist/index.js +61 -0
  478. package/dist/input.cjs +67 -0
  479. package/dist/input.cjs.map +1 -0
  480. package/dist/input.js +184 -0
  481. package/dist/input.js.map +1 -0
  482. package/dist/inputs/button/button.css?inline.cjs +2 -0
  483. package/dist/inputs/button/button.css?inline.cjs.map +1 -0
  484. package/dist/inputs/button/button.css?inline.js +6 -0
  485. package/dist/inputs/button/button.css?inline.js.map +1 -0
  486. package/dist/inputs/button/button.d.ts +85 -0
  487. package/dist/inputs/button/button.d.ts.map +1 -0
  488. package/dist/inputs/button-group/button-group.css?inline.cjs +2 -0
  489. package/dist/inputs/button-group/button-group.css?inline.cjs.map +1 -0
  490. package/dist/inputs/button-group/button-group.css?inline.js +6 -0
  491. package/dist/inputs/button-group/button-group.css?inline.js.map +1 -0
  492. package/dist/inputs/button-group/button-group.d.ts +64 -0
  493. package/dist/inputs/button-group/button-group.d.ts.map +1 -0
  494. package/dist/inputs/calendar/calendar.css?inline.cjs +2 -0
  495. package/dist/inputs/calendar/calendar.css?inline.cjs.map +1 -0
  496. package/dist/inputs/calendar/calendar.css?inline.js +6 -0
  497. package/dist/inputs/calendar/calendar.css?inline.js.map +1 -0
  498. package/dist/inputs/calendar/calendar.d.ts +134 -0
  499. package/dist/inputs/calendar/calendar.d.ts.map +1 -0
  500. package/dist/inputs/checkbox/checkbox.css?inline.cjs +2 -0
  501. package/dist/inputs/checkbox/checkbox.css?inline.cjs.map +1 -0
  502. package/dist/inputs/checkbox/checkbox.css?inline.js +6 -0
  503. package/dist/inputs/checkbox/checkbox.css?inline.js.map +1 -0
  504. package/dist/inputs/checkbox/checkbox.d.ts +60 -0
  505. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -0
  506. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs +2 -0
  507. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs.map +1 -0
  508. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js +6 -0
  509. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js.map +1 -0
  510. package/dist/inputs/checkbox-group/checkbox-group.d.ts +75 -0
  511. package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -0
  512. package/dist/inputs/combobox/combobox-options.cjs +2 -0
  513. package/dist/inputs/combobox/combobox-options.cjs.map +1 -0
  514. package/dist/inputs/combobox/combobox-options.d.ts +6 -0
  515. package/dist/inputs/combobox/combobox-options.d.ts.map +1 -0
  516. package/dist/inputs/combobox/combobox-options.js +26 -0
  517. package/dist/inputs/combobox/combobox-options.js.map +1 -0
  518. package/dist/inputs/combobox/combobox.css?inline.cjs +2 -0
  519. package/dist/inputs/combobox/combobox.css?inline.cjs.map +1 -0
  520. package/dist/inputs/combobox/combobox.css?inline.js +6 -0
  521. package/dist/inputs/combobox/combobox.css?inline.js.map +1 -0
  522. package/dist/inputs/combobox/combobox.d.ts +45 -0
  523. package/dist/inputs/combobox/combobox.d.ts.map +1 -0
  524. package/dist/inputs/combobox/combobox.types.d.ts +45 -0
  525. package/dist/inputs/combobox/combobox.types.d.ts.map +1 -0
  526. package/dist/inputs/datagrid/datagrid-column.cjs +2 -0
  527. package/dist/inputs/datagrid/datagrid-column.cjs.map +1 -0
  528. package/dist/inputs/datagrid/datagrid-column.d.ts +7 -0
  529. package/dist/inputs/datagrid/datagrid-column.d.ts.map +1 -0
  530. package/dist/inputs/datagrid/datagrid-column.js +31 -0
  531. package/dist/inputs/datagrid/datagrid-column.js.map +1 -0
  532. package/dist/inputs/datagrid/datagrid-controls.cjs +2 -0
  533. package/dist/inputs/datagrid/datagrid-controls.cjs.map +1 -0
  534. package/dist/inputs/datagrid/datagrid-controls.d.ts +98 -0
  535. package/dist/inputs/datagrid/datagrid-controls.d.ts.map +1 -0
  536. package/dist/inputs/datagrid/datagrid-controls.js +147 -0
  537. package/dist/inputs/datagrid/datagrid-controls.js.map +1 -0
  538. package/dist/inputs/datagrid/datagrid-nav.cjs +2 -0
  539. package/dist/inputs/datagrid/datagrid-nav.cjs.map +1 -0
  540. package/dist/inputs/datagrid/datagrid-nav.d.ts +33 -0
  541. package/dist/inputs/datagrid/datagrid-nav.d.ts.map +1 -0
  542. package/dist/inputs/datagrid/datagrid-nav.js +51 -0
  543. package/dist/inputs/datagrid/datagrid-nav.js.map +1 -0
  544. package/dist/inputs/datagrid/datagrid.css?inline.cjs +2 -0
  545. package/dist/inputs/datagrid/datagrid.css?inline.cjs.map +1 -0
  546. package/dist/inputs/datagrid/datagrid.css?inline.js +6 -0
  547. package/dist/inputs/datagrid/datagrid.css?inline.js.map +1 -0
  548. package/dist/inputs/datagrid/datagrid.d.ts +302 -0
  549. package/dist/inputs/datagrid/datagrid.d.ts.map +1 -0
  550. package/dist/inputs/date-picker/date-picker.css?inline.cjs +2 -0
  551. package/dist/inputs/date-picker/date-picker.css?inline.cjs.map +1 -0
  552. package/dist/inputs/date-picker/date-picker.css?inline.js +6 -0
  553. package/dist/inputs/date-picker/date-picker.css?inline.js.map +1 -0
  554. package/dist/inputs/date-picker/date-picker.d.ts +112 -0
  555. package/dist/inputs/date-picker/date-picker.d.ts.map +1 -0
  556. package/dist/inputs/file-input/file-input.css?inline.cjs +2 -0
  557. package/dist/inputs/file-input/file-input.css?inline.cjs.map +1 -0
  558. package/dist/inputs/file-input/file-input.css?inline.js +6 -0
  559. package/dist/inputs/file-input/file-input.css?inline.js.map +1 -0
  560. package/dist/inputs/file-input/file-input.d.ts +90 -0
  561. package/dist/inputs/file-input/file-input.d.ts.map +1 -0
  562. package/dist/inputs/form/form.css?inline.cjs +2 -0
  563. package/dist/inputs/form/form.css?inline.cjs.map +1 -0
  564. package/dist/inputs/form/form.css?inline.js +6 -0
  565. package/dist/inputs/form/form.css?inline.js.map +1 -0
  566. package/dist/inputs/form/form.d.ts +59 -0
  567. package/dist/inputs/form/form.d.ts.map +1 -0
  568. package/dist/inputs/index.d.ts +47 -0
  569. package/dist/inputs/index.d.ts.map +1 -0
  570. package/dist/inputs/input/input.css?inline.cjs +2 -0
  571. package/dist/inputs/input/input.css?inline.cjs.map +1 -0
  572. package/dist/inputs/input/input.css?inline.js +6 -0
  573. package/dist/inputs/input/input.css?inline.js.map +1 -0
  574. package/dist/inputs/input/input.d.ts +96 -0
  575. package/dist/inputs/input/input.d.ts.map +1 -0
  576. package/dist/inputs/number-input/number-input.css?inline.cjs +2 -0
  577. package/dist/inputs/number-input/number-input.css?inline.cjs.map +1 -0
  578. package/dist/inputs/number-input/number-input.css?inline.js +6 -0
  579. package/dist/inputs/number-input/number-input.css?inline.js.map +1 -0
  580. package/dist/inputs/number-input/number-input.d.ts +102 -0
  581. package/dist/inputs/number-input/number-input.d.ts.map +1 -0
  582. package/dist/inputs/otp-input/otp-input.css?inline.cjs +2 -0
  583. package/dist/inputs/otp-input/otp-input.css?inline.cjs.map +1 -0
  584. package/dist/inputs/otp-input/otp-input.css?inline.js +6 -0
  585. package/dist/inputs/otp-input/otp-input.css?inline.js.map +1 -0
  586. package/dist/inputs/otp-input/otp-input.d.ts +82 -0
  587. package/dist/inputs/otp-input/otp-input.d.ts.map +1 -0
  588. package/dist/inputs/radio/radio.css?inline.cjs +2 -0
  589. package/dist/inputs/radio/radio.css?inline.cjs.map +1 -0
  590. package/dist/inputs/radio/radio.css?inline.js +6 -0
  591. package/dist/inputs/radio/radio.css?inline.js.map +1 -0
  592. package/dist/inputs/radio/radio.d.ts +56 -0
  593. package/dist/inputs/radio/radio.d.ts.map +1 -0
  594. package/dist/inputs/radio-group/radio-group.css?inline.cjs +2 -0
  595. package/dist/inputs/radio-group/radio-group.css?inline.cjs.map +1 -0
  596. package/dist/inputs/radio-group/radio-group.css?inline.js +6 -0
  597. package/dist/inputs/radio-group/radio-group.css?inline.js.map +1 -0
  598. package/dist/inputs/radio-group/radio-group.d.ts +74 -0
  599. package/dist/inputs/radio-group/radio-group.d.ts.map +1 -0
  600. package/dist/inputs/rating/rating.css?inline.cjs +2 -0
  601. package/dist/inputs/rating/rating.css?inline.cjs.map +1 -0
  602. package/dist/inputs/rating/rating.css?inline.js +6 -0
  603. package/dist/inputs/rating/rating.css?inline.js.map +1 -0
  604. package/dist/inputs/rating/rating.d.ts +68 -0
  605. package/dist/inputs/rating/rating.d.ts.map +1 -0
  606. package/dist/inputs/select/select.css?inline.cjs +2 -0
  607. package/dist/inputs/select/select.css?inline.cjs.map +1 -0
  608. package/dist/inputs/select/select.css?inline.js +6 -0
  609. package/dist/inputs/select/select.css?inline.js.map +1 -0
  610. package/dist/inputs/select/select.d.ts +89 -0
  611. package/dist/inputs/select/select.d.ts.map +1 -0
  612. package/dist/inputs/shared/field-binding.cjs +2 -0
  613. package/dist/inputs/shared/field-binding.cjs.map +1 -0
  614. package/dist/inputs/shared/field-binding.d.ts +31 -0
  615. package/dist/inputs/shared/field-binding.d.ts.map +1 -0
  616. package/dist/inputs/shared/field-binding.js +31 -0
  617. package/dist/inputs/shared/field-binding.js.map +1 -0
  618. package/dist/inputs/shared/form-context.cjs +2 -0
  619. package/dist/inputs/shared/form-context.cjs.map +1 -0
  620. package/dist/inputs/shared/form-context.d.ts +49 -0
  621. package/dist/inputs/shared/form-context.d.ts.map +1 -0
  622. package/dist/inputs/shared/form-context.js +15 -0
  623. package/dist/inputs/shared/form-context.js.map +1 -0
  624. package/dist/inputs/shared/index.d.ts +5 -0
  625. package/dist/inputs/shared/index.d.ts.map +1 -0
  626. package/dist/inputs/shared/templates.cjs +11 -0
  627. package/dist/inputs/shared/templates.cjs.map +1 -0
  628. package/dist/inputs/shared/templates.d.ts +13 -0
  629. package/dist/inputs/shared/templates.d.ts.map +1 -0
  630. package/dist/inputs/shared/templates.js +18 -0
  631. package/dist/inputs/shared/templates.js.map +1 -0
  632. package/dist/inputs/shared/use-form-action.cjs +2 -0
  633. package/dist/inputs/shared/use-form-action.cjs.map +1 -0
  634. package/dist/inputs/shared/use-form-action.d.ts +17 -0
  635. package/dist/inputs/shared/use-form-action.d.ts.map +1 -0
  636. package/dist/inputs/shared/use-form-action.js +19 -0
  637. package/dist/inputs/shared/use-form-action.js.map +1 -0
  638. package/dist/inputs/slider/slider.css?inline.cjs +2 -0
  639. package/dist/inputs/slider/slider.css?inline.cjs.map +1 -0
  640. package/dist/inputs/slider/slider.css?inline.js +6 -0
  641. package/dist/inputs/slider/slider.css?inline.js.map +1 -0
  642. package/dist/inputs/slider/slider.d.ts +95 -0
  643. package/dist/inputs/slider/slider.d.ts.map +1 -0
  644. package/dist/inputs/switch/switch.css?inline.cjs +2 -0
  645. package/dist/inputs/switch/switch.css?inline.cjs.map +1 -0
  646. package/dist/inputs/switch/switch.css?inline.js +6 -0
  647. package/dist/inputs/switch/switch.css?inline.js.map +1 -0
  648. package/dist/inputs/switch/switch.d.ts +56 -0
  649. package/dist/inputs/switch/switch.d.ts.map +1 -0
  650. package/dist/inputs/textarea/textarea.css?inline.cjs +2 -0
  651. package/dist/inputs/textarea/textarea.css?inline.cjs.map +1 -0
  652. package/dist/inputs/textarea/textarea.css?inline.js +6 -0
  653. package/dist/inputs/textarea/textarea.css?inline.js.map +1 -0
  654. package/dist/inputs/textarea/textarea.d.ts +91 -0
  655. package/dist/inputs/textarea/textarea.d.ts.map +1 -0
  656. package/dist/inputs/time-picker/time-picker.css?inline.cjs +2 -0
  657. package/dist/inputs/time-picker/time-picker.css?inline.cjs.map +1 -0
  658. package/dist/inputs/time-picker/time-picker.css?inline.js +6 -0
  659. package/dist/inputs/time-picker/time-picker.css?inline.js.map +1 -0
  660. package/dist/inputs/time-picker/time-picker.d.ts +103 -0
  661. package/dist/inputs/time-picker/time-picker.d.ts.map +1 -0
  662. package/dist/layout/box/box.css?inline.cjs +2 -0
  663. package/dist/layout/box/box.css?inline.cjs.map +1 -0
  664. package/dist/layout/box/box.css?inline.js +6 -0
  665. package/dist/layout/box/box.css?inline.js.map +1 -0
  666. package/dist/layout/box/box.d.ts +52 -0
  667. package/dist/layout/box/box.d.ts.map +1 -0
  668. package/dist/layout/grid/grid.css?inline.cjs +2 -0
  669. package/dist/layout/grid/grid.css?inline.cjs.map +1 -0
  670. package/dist/layout/grid/grid.css?inline.js +6 -0
  671. package/dist/layout/grid/grid.css?inline.js.map +1 -0
  672. package/dist/layout/grid/grid.d.ts +105 -0
  673. package/dist/layout/grid/grid.d.ts.map +1 -0
  674. package/dist/layout/grid-item/grid-item.css?inline.cjs +2 -0
  675. package/dist/layout/grid-item/grid-item.css?inline.cjs.map +1 -0
  676. package/dist/layout/grid-item/grid-item.css?inline.js +6 -0
  677. package/dist/layout/grid-item/grid-item.css?inline.js.map +1 -0
  678. package/dist/layout/grid-item/grid-item.d.ts +54 -0
  679. package/dist/layout/grid-item/grid-item.d.ts.map +1 -0
  680. package/dist/layout/index.d.ts +11 -0
  681. package/dist/layout/index.d.ts.map +1 -0
  682. package/dist/layout/navbar/navbar.css?inline.cjs +2 -0
  683. package/dist/layout/navbar/navbar.css?inline.cjs.map +1 -0
  684. package/dist/layout/navbar/navbar.css?inline.js +6 -0
  685. package/dist/layout/navbar/navbar.css?inline.js.map +1 -0
  686. package/dist/layout/navbar/navbar.d.ts +153 -0
  687. package/dist/layout/navbar/navbar.d.ts.map +1 -0
  688. package/dist/layout/sidebar/sidebar-group.css?inline.cjs +2 -0
  689. package/dist/layout/sidebar/sidebar-group.css?inline.cjs.map +1 -0
  690. package/dist/layout/sidebar/sidebar-group.css?inline.js +6 -0
  691. package/dist/layout/sidebar/sidebar-group.css?inline.js.map +1 -0
  692. package/dist/layout/sidebar/sidebar-item.css?inline.cjs +2 -0
  693. package/dist/layout/sidebar/sidebar-item.css?inline.cjs.map +1 -0
  694. package/dist/layout/sidebar/sidebar-item.css?inline.js +6 -0
  695. package/dist/layout/sidebar/sidebar-item.css?inline.js.map +1 -0
  696. package/dist/layout/sidebar/sidebar.css?inline.cjs +2 -0
  697. package/dist/layout/sidebar/sidebar.css?inline.cjs.map +1 -0
  698. package/dist/layout/sidebar/sidebar.css?inline.js +6 -0
  699. package/dist/layout/sidebar/sidebar.css?inline.js.map +1 -0
  700. package/dist/layout/sidebar/sidebar.d.ts +226 -0
  701. package/dist/layout/sidebar/sidebar.d.ts.map +1 -0
  702. package/dist/menu.cjs +30 -0
  703. package/dist/menu.cjs.map +1 -0
  704. package/dist/menu.js +197 -0
  705. package/dist/menu.js.map +1 -0
  706. package/dist/navbar.cjs +68 -0
  707. package/dist/navbar.cjs.map +1 -0
  708. package/dist/navbar.js +283 -0
  709. package/dist/navbar.js.map +1 -0
  710. package/dist/number-input.cjs +40 -0
  711. package/dist/number-input.cjs.map +1 -0
  712. package/dist/number-input.js +141 -0
  713. package/dist/number-input.js.map +1 -0
  714. package/dist/ore/dist/_dev.cjs +2 -0
  715. package/dist/ore/dist/_dev.cjs.map +1 -0
  716. package/dist/ore/dist/_dev.js +12 -0
  717. package/dist/ore/dist/_dev.js.map +1 -0
  718. package/dist/ore/dist/aria.cjs +2 -0
  719. package/dist/ore/dist/aria.cjs.map +1 -0
  720. package/dist/ore/dist/aria.js +37 -0
  721. package/dist/ore/dist/aria.js.map +1 -0
  722. package/dist/ore/dist/base-element.cjs +2 -0
  723. package/dist/ore/dist/base-element.cjs.map +1 -0
  724. package/dist/ore/dist/base-element.js +146 -0
  725. package/dist/ore/dist/base-element.js.map +1 -0
  726. package/dist/ore/dist/context-bag.cjs +2 -0
  727. package/dist/ore/dist/context-bag.cjs.map +1 -0
  728. package/dist/ore/dist/context-bag.js +28 -0
  729. package/dist/ore/dist/context-bag.js.map +1 -0
  730. package/dist/ore/dist/context.cjs +2 -0
  731. package/dist/ore/dist/context.cjs.map +1 -0
  732. package/dist/ore/dist/context.js +38 -0
  733. package/dist/ore/dist/context.js.map +1 -0
  734. package/dist/ore/dist/define.cjs +2 -0
  735. package/dist/ore/dist/define.cjs.map +1 -0
  736. package/dist/ore/dist/define.js +27 -0
  737. package/dist/ore/dist/define.js.map +1 -0
  738. package/dist/ore/dist/directives/classMap.cjs +1 -0
  739. package/dist/ore/dist/directives/classMap.js +1 -0
  740. package/dist/ore/dist/directives/each.cjs +1 -0
  741. package/dist/ore/dist/directives/each.js +5 -0
  742. package/dist/ore/dist/directives/live.cjs +2 -0
  743. package/dist/ore/dist/directives/live.cjs.map +1 -0
  744. package/dist/ore/dist/directives/live.js +6 -0
  745. package/dist/ore/dist/directives/live.js.map +1 -0
  746. package/dist/ore/dist/directives/model.cjs +1 -0
  747. package/dist/ore/dist/directives/model.js +3 -0
  748. package/dist/ore/dist/directives/raw.cjs +2 -0
  749. package/dist/ore/dist/directives/raw.cjs.map +1 -0
  750. package/dist/ore/dist/directives/raw.js +35 -0
  751. package/dist/ore/dist/directives/raw.js.map +1 -0
  752. package/dist/ore/dist/directives/styleMap.cjs +2 -0
  753. package/dist/ore/dist/directives/styleMap.cjs.map +1 -0
  754. package/dist/ore/dist/directives/styleMap.js +20 -0
  755. package/dist/ore/dist/directives/styleMap.js.map +1 -0
  756. package/dist/ore/dist/directives/when.cjs +2 -0
  757. package/dist/ore/dist/directives/when.cjs.map +1 -0
  758. package/dist/ore/dist/directives/when.js +33 -0
  759. package/dist/ore/dist/directives/when.js.map +1 -0
  760. package/dist/ore/dist/directives.cjs +1 -0
  761. package/dist/ore/dist/directives.js +8 -0
  762. package/dist/ore/dist/errors.cjs +3 -0
  763. package/dist/ore/dist/errors.cjs.map +1 -0
  764. package/dist/ore/dist/errors.js +41 -0
  765. package/dist/ore/dist/errors.js.map +1 -0
  766. package/dist/ore/dist/host-bind.cjs +2 -0
  767. package/dist/ore/dist/host-bind.cjs.map +1 -0
  768. package/dist/ore/dist/host-bind.js +60 -0
  769. package/dist/ore/dist/host-bind.js.map +1 -0
  770. package/dist/ore/dist/observers/intersection-observe.cjs +2 -0
  771. package/dist/ore/dist/observers/intersection-observe.cjs.map +1 -0
  772. package/dist/ore/dist/observers/intersection-observe.js +12 -0
  773. package/dist/ore/dist/observers/intersection-observe.js.map +1 -0
  774. package/dist/ore/dist/observers/media-observe.cjs +1 -0
  775. package/dist/ore/dist/observers/media-observe.js +1 -0
  776. package/dist/ore/dist/observers/mutation-observe.cjs +1 -0
  777. package/dist/ore/dist/observers/mutation-observe.js +1 -0
  778. package/dist/ore/dist/observers/resize-observe.cjs +2 -0
  779. package/dist/ore/dist/observers/resize-observe.cjs.map +1 -0
  780. package/dist/ore/dist/observers/resize-observe.js +20 -0
  781. package/dist/ore/dist/observers/resize-observe.js.map +1 -0
  782. package/dist/ore/dist/observers.cjs +1 -0
  783. package/dist/ore/dist/observers.js +5 -0
  784. package/dist/ore/dist/props.cjs +2 -0
  785. package/dist/ore/dist/props.cjs.map +1 -0
  786. package/dist/ore/dist/props.js +54 -0
  787. package/dist/ore/dist/props.js.map +1 -0
  788. package/dist/ore/dist/runtime.cjs +2 -0
  789. package/dist/ore/dist/runtime.cjs.map +1 -0
  790. package/dist/ore/dist/runtime.js +33 -0
  791. package/dist/ore/dist/runtime.js.map +1 -0
  792. package/dist/ore/dist/slots.cjs +2 -0
  793. package/dist/ore/dist/slots.cjs.map +1 -0
  794. package/dist/ore/dist/slots.js +61 -0
  795. package/dist/ore/dist/slots.js.map +1 -0
  796. package/dist/ore/dist/testing/flush.cjs +2 -0
  797. package/dist/ore/dist/testing/flush.cjs.map +1 -0
  798. package/dist/ore/dist/testing/flush.js +11 -0
  799. package/dist/ore/dist/testing/flush.js.map +1 -0
  800. package/dist/ore/dist/testing/mount.cjs +2 -0
  801. package/dist/ore/dist/testing/mount.cjs.map +1 -0
  802. package/dist/ore/dist/testing/mount.js +94 -0
  803. package/dist/ore/dist/testing/mount.js.map +1 -0
  804. package/dist/ore/dist/testing/query.cjs +2 -0
  805. package/dist/ore/dist/testing/query.cjs.map +1 -0
  806. package/dist/ore/dist/testing/query.js +12 -0
  807. package/dist/ore/dist/testing/query.js.map +1 -0
  808. package/dist/ore/dist/testing/render-hook.cjs +1 -0
  809. package/dist/ore/dist/testing/render-hook.js +4 -0
  810. package/dist/ore/dist/testing/testing.cjs +1 -0
  811. package/dist/ore/dist/testing/testing.js +4 -0
  812. package/dist/ore/dist/testing/wait.cjs +1 -0
  813. package/dist/ore/dist/testing/wait.js +1 -0
  814. package/dist/ore/dist/testing.cjs +1 -0
  815. package/dist/ore/dist/testing.js +6 -0
  816. package/dist/ore/dist/types/bindings.cjs +2 -0
  817. package/dist/ore/dist/types/bindings.cjs.map +1 -0
  818. package/dist/ore/dist/types/bindings.js +15 -0
  819. package/dist/ore/dist/types/bindings.js.map +1 -0
  820. package/dist/ore/dist/types.cjs +2 -0
  821. package/dist/ore/dist/types.cjs.map +1 -0
  822. package/dist/ore/dist/types.js +15 -0
  823. package/dist/ore/dist/types.js.map +1 -0
  824. package/dist/ore/dist/utils/aria.cjs +2 -0
  825. package/dist/ore/dist/utils/aria.cjs.map +1 -0
  826. package/dist/ore/dist/utils/aria.js +6 -0
  827. package/dist/ore/dist/utils/aria.js.map +1 -0
  828. package/dist/ore/dist/utils/css.cjs +2 -0
  829. package/dist/ore/dist/utils/css.cjs.map +1 -0
  830. package/dist/ore/dist/utils/css.js +18 -0
  831. package/dist/ore/dist/utils/css.js.map +1 -0
  832. package/dist/ore/dist/utils/dom.cjs +2 -0
  833. package/dist/ore/dist/utils/dom.cjs.map +1 -0
  834. package/dist/ore/dist/utils/dom.js +47 -0
  835. package/dist/ore/dist/utils/dom.js.map +1 -0
  836. package/dist/ore/dist/utils/emit.cjs +2 -0
  837. package/dist/ore/dist/utils/emit.cjs.map +1 -0
  838. package/dist/ore/dist/utils/emit.js +16 -0
  839. package/dist/ore/dist/utils/emit.js.map +1 -0
  840. package/dist/ore/dist/utils/id.cjs +2 -0
  841. package/dist/ore/dist/utils/id.cjs.map +1 -0
  842. package/dist/ore/dist/utils/id.js +4 -0
  843. package/dist/ore/dist/utils/id.js.map +1 -0
  844. package/dist/otp-input.cjs +21 -0
  845. package/dist/otp-input.cjs.map +1 -0
  846. package/dist/otp-input.js +145 -0
  847. package/dist/otp-input.js.map +1 -0
  848. package/dist/overlay/dialog/dialog.css?inline.cjs +2 -0
  849. package/dist/overlay/dialog/dialog.css?inline.cjs.map +1 -0
  850. package/dist/overlay/dialog/dialog.css?inline.js +6 -0
  851. package/dist/overlay/dialog/dialog.css?inline.js.map +1 -0
  852. package/dist/overlay/dialog/dialog.d.ts +108 -0
  853. package/dist/overlay/dialog/dialog.d.ts.map +1 -0
  854. package/dist/overlay/drawer/drawer.css?inline.cjs +2 -0
  855. package/dist/overlay/drawer/drawer.css?inline.cjs.map +1 -0
  856. package/dist/overlay/drawer/drawer.css?inline.js +6 -0
  857. package/dist/overlay/drawer/drawer.css?inline.js.map +1 -0
  858. package/dist/overlay/drawer/drawer.d.ts +111 -0
  859. package/dist/overlay/drawer/drawer.d.ts.map +1 -0
  860. package/dist/overlay/index.d.ts +11 -0
  861. package/dist/overlay/index.d.ts.map +1 -0
  862. package/dist/overlay/menu/menu-item.css?inline.cjs +2 -0
  863. package/dist/overlay/menu/menu-item.css?inline.cjs.map +1 -0
  864. package/dist/overlay/menu/menu-item.css?inline.js +6 -0
  865. package/dist/overlay/menu/menu-item.css?inline.js.map +1 -0
  866. package/dist/overlay/menu/menu-separator.css?inline.cjs +2 -0
  867. package/dist/overlay/menu/menu-separator.css?inline.cjs.map +1 -0
  868. package/dist/overlay/menu/menu-separator.css?inline.js +6 -0
  869. package/dist/overlay/menu/menu-separator.css?inline.js.map +1 -0
  870. package/dist/overlay/menu/menu.css?inline.cjs +2 -0
  871. package/dist/overlay/menu/menu.css?inline.cjs.map +1 -0
  872. package/dist/overlay/menu/menu.css?inline.js +6 -0
  873. package/dist/overlay/menu/menu.css?inline.js.map +1 -0
  874. package/dist/overlay/menu/menu.d.ts +110 -0
  875. package/dist/overlay/menu/menu.d.ts.map +1 -0
  876. package/dist/overlay/popover/popover.css?inline.cjs +2 -0
  877. package/dist/overlay/popover/popover.css?inline.cjs.map +1 -0
  878. package/dist/overlay/popover/popover.css?inline.js +6 -0
  879. package/dist/overlay/popover/popover.css?inline.js.map +1 -0
  880. package/dist/overlay/popover/popover.d.ts +56 -0
  881. package/dist/overlay/popover/popover.d.ts.map +1 -0
  882. package/dist/overlay/shared/await-exit.cjs +2 -0
  883. package/dist/overlay/shared/await-exit.cjs.map +1 -0
  884. package/dist/overlay/shared/await-exit.d.ts +14 -0
  885. package/dist/overlay/shared/await-exit.d.ts.map +1 -0
  886. package/dist/overlay/shared/await-exit.js +18 -0
  887. package/dist/overlay/shared/await-exit.js.map +1 -0
  888. package/dist/overlay/shared/background-lock.cjs +2 -0
  889. package/dist/overlay/shared/background-lock.cjs.map +1 -0
  890. package/dist/overlay/shared/background-lock.d.ts +22 -0
  891. package/dist/overlay/shared/background-lock.d.ts.map +1 -0
  892. package/dist/overlay/shared/background-lock.js +25 -0
  893. package/dist/overlay/shared/background-lock.js.map +1 -0
  894. package/dist/overlay/shared/use-dialog.cjs +2 -0
  895. package/dist/overlay/shared/use-dialog.cjs.map +1 -0
  896. package/dist/overlay/shared/use-dialog.d.ts +76 -0
  897. package/dist/overlay/shared/use-dialog.d.ts.map +1 -0
  898. package/dist/overlay/shared/use-dialog.js +92 -0
  899. package/dist/overlay/shared/use-dialog.js.map +1 -0
  900. package/dist/overlay/shared/use-floating-trigger.cjs +2 -0
  901. package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -0
  902. package/dist/overlay/shared/use-floating-trigger.d.ts +67 -0
  903. package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -0
  904. package/dist/overlay/shared/use-floating-trigger.js +128 -0
  905. package/dist/overlay/shared/use-floating-trigger.js.map +1 -0
  906. package/dist/overlay/tooltip/tooltip.css?inline.cjs +2 -0
  907. package/dist/overlay/tooltip/tooltip.css?inline.cjs.map +1 -0
  908. package/dist/overlay/tooltip/tooltip.css?inline.js +6 -0
  909. package/dist/overlay/tooltip/tooltip.css?inline.js.map +1 -0
  910. package/dist/overlay/tooltip/tooltip.d.ts +72 -0
  911. package/dist/overlay/tooltip/tooltip.d.ts.map +1 -0
  912. package/dist/pagination.cjs +63 -0
  913. package/dist/pagination.cjs.map +1 -0
  914. package/dist/pagination.js +113 -0
  915. package/dist/pagination.js.map +1 -0
  916. package/dist/password-strength.cjs +19 -0
  917. package/dist/password-strength.cjs.map +1 -0
  918. package/dist/password-strength.js +69 -0
  919. package/dist/password-strength.js.map +1 -0
  920. package/dist/popover.cjs +16 -0
  921. package/dist/popover.cjs.map +1 -0
  922. package/dist/popover.js +81 -0
  923. package/dist/popover.js.map +1 -0
  924. package/dist/progress.cjs +46 -0
  925. package/dist/progress.cjs.map +1 -0
  926. package/dist/progress.js +96 -0
  927. package/dist/progress.js.map +1 -0
  928. package/dist/radio-group.cjs +25 -0
  929. package/dist/radio-group.cjs.map +1 -0
  930. package/dist/radio-group.js +145 -0
  931. package/dist/radio-group.js.map +1 -0
  932. package/dist/radio.cjs +10 -0
  933. package/dist/radio.cjs.map +1 -0
  934. package/dist/radio.js +146 -0
  935. package/dist/radio.js.map +1 -0
  936. package/dist/rating.cjs +28 -0
  937. package/dist/rating.cjs.map +1 -0
  938. package/dist/rating.js +123 -0
  939. package/dist/rating.js.map +1 -0
  940. package/dist/refine.cjs +2705 -0
  941. package/dist/refine.cjs.map +1 -0
  942. package/dist/refine.iife.js +2705 -0
  943. package/dist/refine.iife.js.map +1 -0
  944. package/dist/refine.js +2705 -0
  945. package/dist/refine.js.map +1 -0
  946. package/dist/select.cjs +79 -0
  947. package/dist/select.cjs.map +1 -0
  948. package/dist/select.js +289 -0
  949. package/dist/select.js.map +1 -0
  950. package/dist/separator.cjs +27 -0
  951. package/dist/separator.cjs.map +1 -0
  952. package/dist/separator.js +47 -0
  953. package/dist/separator.js.map +1 -0
  954. package/dist/shared/index.d.ts +14 -0
  955. package/dist/shared/index.d.ts.map +1 -0
  956. package/dist/shared/prop-bundles.cjs +2 -0
  957. package/dist/shared/prop-bundles.cjs.map +1 -0
  958. package/dist/shared/prop-bundles.d.ts +45 -0
  959. package/dist/shared/prop-bundles.d.ts.map +1 -0
  960. package/dist/shared/prop-bundles.js +13 -0
  961. package/dist/shared/prop-bundles.js.map +1 -0
  962. package/dist/shared/size-presets.cjs +2 -0
  963. package/dist/shared/size-presets.cjs.map +1 -0
  964. package/dist/shared/size-presets.d.ts +101 -0
  965. package/dist/shared/size-presets.d.ts.map +1 -0
  966. package/dist/shared/size-presets.js +96 -0
  967. package/dist/shared/size-presets.js.map +1 -0
  968. package/dist/shared/types.d.ts +76 -0
  969. package/dist/shared/types.d.ts.map +1 -0
  970. package/dist/sidebar.cjs +123 -0
  971. package/dist/sidebar.cjs.map +1 -0
  972. package/dist/sidebar.js +344 -0
  973. package/dist/sidebar.js.map +1 -0
  974. package/dist/skeleton.cjs +10 -0
  975. package/dist/skeleton.cjs.map +1 -0
  976. package/dist/skeleton.js +59 -0
  977. package/dist/skeleton.js.map +1 -0
  978. package/dist/slider.cjs +27 -0
  979. package/dist/slider.cjs.map +1 -0
  980. package/dist/slider.js +219 -0
  981. package/dist/slider.js.map +1 -0
  982. package/dist/styles/animation.css +94 -0
  983. package/dist/styles/index.cjs +2 -0
  984. package/dist/styles/index.cjs.map +1 -0
  985. package/dist/styles/index.d.ts +41 -0
  986. package/dist/styles/index.d.ts.map +1 -0
  987. package/dist/styles/index.js +24 -0
  988. package/dist/styles/index.js.map +1 -0
  989. package/dist/styles/layer.css +19 -0
  990. package/dist/styles/mixins/accessibility.css.cjs +51 -0
  991. package/dist/styles/mixins/accessibility.css.cjs.map +1 -0
  992. package/dist/styles/mixins/accessibility.css.d.ts +80 -0
  993. package/dist/styles/mixins/accessibility.css.d.ts.map +1 -0
  994. package/dist/styles/mixins/accessibility.css.js +56 -0
  995. package/dist/styles/mixins/accessibility.css.js.map +1 -0
  996. package/dist/styles/mixins/animation.css.cjs +133 -0
  997. package/dist/styles/mixins/animation.css.cjs.map +1 -0
  998. package/dist/styles/mixins/animation.css.d.ts +43 -0
  999. package/dist/styles/mixins/animation.css.d.ts.map +1 -0
  1000. package/dist/styles/mixins/animation.css.js +166 -0
  1001. package/dist/styles/mixins/animation.css.js.map +1 -0
  1002. package/dist/styles/mixins/shape.css.cjs +66 -0
  1003. package/dist/styles/mixins/shape.css.cjs.map +1 -0
  1004. package/dist/styles/mixins/shape.css.d.ts +96 -0
  1005. package/dist/styles/mixins/shape.css.d.ts.map +1 -0
  1006. package/dist/styles/mixins/shape.css.js +98 -0
  1007. package/dist/styles/mixins/shape.css.js.map +1 -0
  1008. package/dist/styles/mixins/states.css.cjs +37 -0
  1009. package/dist/styles/mixins/states.css.cjs.map +1 -0
  1010. package/dist/styles/mixins/states.css.d.ts +27 -0
  1011. package/dist/styles/mixins/states.css.d.ts.map +1 -0
  1012. package/dist/styles/mixins/states.css.js +44 -0
  1013. package/dist/styles/mixins/states.css.js.map +1 -0
  1014. package/dist/styles/mixins/table-base.css.cjs +94 -0
  1015. package/dist/styles/mixins/table-base.css.cjs.map +1 -0
  1016. package/dist/styles/mixins/table-base.css.d.ts +24 -0
  1017. package/dist/styles/mixins/table-base.css.d.ts.map +1 -0
  1018. package/dist/styles/mixins/table-base.css.js +99 -0
  1019. package/dist/styles/mixins/table-base.css.js.map +1 -0
  1020. package/dist/styles/mixins/theme.css.cjs +80 -0
  1021. package/dist/styles/mixins/theme.css.cjs.map +1 -0
  1022. package/dist/styles/mixins/theme.css.d.ts +77 -0
  1023. package/dist/styles/mixins/theme.css.d.ts.map +1 -0
  1024. package/dist/styles/mixins/theme.css.js +98 -0
  1025. package/dist/styles/mixins/theme.css.js.map +1 -0
  1026. package/dist/styles/mixins/variants.css.cjs +55 -0
  1027. package/dist/styles/mixins/variants.css.cjs.map +1 -0
  1028. package/dist/styles/mixins/variants.css.d.ts +22 -0
  1029. package/dist/styles/mixins/variants.css.d.ts.map +1 -0
  1030. package/dist/styles/mixins/variants.css.js +60 -0
  1031. package/dist/styles/mixins/variants.css.js.map +1 -0
  1032. package/dist/styles/preflight.css +239 -0
  1033. package/dist/styles/styles.css +5 -0
  1034. package/dist/styles/theme.css +553 -0
  1035. package/dist/switch.cjs +10 -0
  1036. package/dist/switch.cjs.map +1 -0
  1037. package/dist/switch.js +79 -0
  1038. package/dist/switch.js.map +1 -0
  1039. package/dist/tab-item.cjs +17 -0
  1040. package/dist/tab-item.cjs.map +1 -0
  1041. package/dist/tab-item.js +62 -0
  1042. package/dist/tab-item.js.map +1 -0
  1043. package/dist/tab-panel.cjs +14 -0
  1044. package/dist/tab-panel.cjs.map +1 -0
  1045. package/dist/tab-panel.js +61 -0
  1046. package/dist/tab-panel.js.map +1 -0
  1047. package/dist/table.cjs +2 -0
  1048. package/dist/table.cjs.map +1 -0
  1049. package/dist/table.js +101 -0
  1050. package/dist/table.js.map +1 -0
  1051. package/dist/tabs.cjs +17 -0
  1052. package/dist/tabs.cjs.map +1 -0
  1053. package/dist/tabs.js +126 -0
  1054. package/dist/tabs.js.map +1 -0
  1055. package/dist/testing/index.d.ts +233 -0
  1056. package/dist/testing/index.d.ts.map +1 -0
  1057. package/dist/testing.cjs +2 -0
  1058. package/dist/testing.cjs.map +1 -0
  1059. package/dist/testing.js +44 -0
  1060. package/dist/testing.js.map +1 -0
  1061. package/dist/text.cjs +2 -0
  1062. package/dist/text.cjs.map +1 -0
  1063. package/dist/text.js +34 -0
  1064. package/dist/text.js.map +1 -0
  1065. package/dist/textarea.cjs +33 -0
  1066. package/dist/textarea.cjs.map +1 -0
  1067. package/dist/textarea.js +137 -0
  1068. package/dist/textarea.js.map +1 -0
  1069. package/dist/time-picker.cjs +98 -0
  1070. package/dist/time-picker.cjs.map +1 -0
  1071. package/dist/time-picker.js +261 -0
  1072. package/dist/time-picker.js.map +1 -0
  1073. package/dist/toast.cjs +69 -0
  1074. package/dist/toast.cjs.map +1 -0
  1075. package/dist/toast.js +316 -0
  1076. package/dist/toast.js.map +1 -0
  1077. package/dist/tooltip.cjs +15 -0
  1078. package/dist/tooltip.cjs.map +1 -0
  1079. package/dist/tooltip.js +121 -0
  1080. package/dist/tooltip.js.map +1 -0
  1081. package/dist/types/index.d.ts +2 -0
  1082. package/dist/types/index.d.ts.map +1 -0
  1083. package/dist/utils/css.cjs +2 -0
  1084. package/dist/utils/css.cjs.map +1 -0
  1085. package/dist/utils/css.d.ts +10 -0
  1086. package/dist/utils/css.d.ts.map +1 -0
  1087. package/dist/utils/css.js +10 -0
  1088. package/dist/utils/css.js.map +1 -0
  1089. package/dist/utils/index.d.ts +3 -0
  1090. package/dist/utils/index.d.ts.map +1 -0
  1091. package/dist/utils/link.cjs +2 -0
  1092. package/dist/utils/link.cjs.map +1 -0
  1093. package/dist/utils/link.d.ts +44 -0
  1094. package/dist/utils/link.d.ts.map +1 -0
  1095. package/dist/utils/link.js +19 -0
  1096. package/dist/utils/link.js.map +1 -0
  1097. package/package.json +464 -0
@@ -0,0 +1,110 @@
1
+ import type { ComponentSize } from '../../types';
2
+ import { type DropdownCloseReason, type OverlayOpenDetail } from '../../headless';
3
+ export interface MenuSelectDetail {
4
+ value: string;
5
+ checked?: boolean;
6
+ }
7
+ export type OreMenuItemType = 'checkbox' | 'radio';
8
+ export type OreMenuEvents = {
9
+ close: {
10
+ reason: DropdownCloseReason;
11
+ };
12
+ open: OverlayOpenDetail;
13
+ select: MenuSelectDetail;
14
+ };
15
+ export type OreMenuItemProps = {
16
+ checked?: boolean;
17
+ disabled?: boolean;
18
+ type?: OreMenuItemType;
19
+ value?: string;
20
+ };
21
+ export type OreMenuProps = {
22
+ disabled?: boolean;
23
+ placement?: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end';
24
+ size?: ComponentSize;
25
+ };
26
+ /**
27
+ * A selectable action item used inside `<ore-menu>`.
28
+ *
29
+ * @element ore-menu-item
30
+ *
31
+ * @attr {boolean} checked - Checked state for `checkbox` and `radio` item types
32
+ * @attr {boolean} disabled - Disables selection and pointer interaction
33
+ * @attr {'checkbox'|'radio'} type - Optional checkable menu item mode
34
+ * @attr {string} value - Value emitted by parent menu on selection
35
+ *
36
+ * @slot - Item label/content
37
+ * @slot icon - Optional leading icon content
38
+ *
39
+ * @cssprop --menu-item-hover-bg - Background on hover
40
+ * @cssprop --menu-item-focus-color - Text color when keyboard-focused
41
+ * @cssprop --menu-item-focus-bg - Background when keyboard-focused
42
+ * @cssprop --menu-item-selection-bg - Background for checkbox/radio items (unselected)
43
+ * @cssprop --menu-item-checked-color - Text color when checked
44
+ * @cssprop --menu-item-checked-bg - Background when checked
45
+ *
46
+ * @part item - Root item container element.
47
+ * @part item-label - Label text container.
48
+ * @part icon-slot - Leading icon slot container.
49
+ *
50
+ * @example
51
+ * ```html
52
+ * <ore-menu-item value="edit">Edit</ore-menu-item>
53
+ * <ore-menu-item value="delete" disabled>Delete</ore-menu-item>
54
+ * <ore-menu-item type="checkbox" value="wrap" checked>Word wrap</ore-menu-item>
55
+ * <ore-menu-item type="radio" value="left">Align left</ore-menu-item>
56
+ * ```
57
+ */
58
+ export declare const MENU_ITEM_TAG: "ore-menu-item";
59
+ /**
60
+ * Visual separator used to group menu items inside `<ore-menu>`.
61
+ *
62
+ * @element ore-menu-separator
63
+ *
64
+ * @example
65
+ * ```html
66
+ * <ore-menu-item value="cut">Cut</ore-menu-item>
67
+ * <ore-menu-separator></ore-menu-separator>
68
+ * <ore-menu-item value="paste">Paste</ore-menu-item>
69
+ * ```
70
+ */
71
+ export declare const SEPARATOR_TAG: "ore-menu-separator";
72
+ /**
73
+ * Action dropdown menu triggered by a slotted trigger element.
74
+ *
75
+ * @element ore-menu
76
+ * @element ore-menu-item - Clickable menu option (place in default slot)
77
+ * @element ore-menu-separator - Visual divider between menu groups
78
+ *
79
+ * @attr {boolean} disabled - Disables opening and keyboard interaction
80
+ * @attr {string} placement - Panel placement: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end' (default: 'bottom-start')
81
+ * @attr {string} size - Size: 'sm' | 'md' | 'lg'
82
+ *
83
+ * @fires open - Fired when the menu opens. detail: { reason: 'trigger' | 'programmatic' }
84
+ * @fires close - Fired when the menu closes. detail: { reason: 'escape' | 'outsideClick' | 'programmatic' | 'trigger' }
85
+ * @fires select - Fired when an item is selected. detail: { value: string, checked?: boolean }
86
+ *
87
+ * @slot trigger - Trigger element that toggles menu visibility
88
+ * @slot - Menu content (`<ore-menu-item>` and `<ore-menu-separator>`)
89
+ *
90
+ * @part panel - Floating menu panel container
91
+ *
92
+ * @cssprop --menu-panel-bg - Background of the floating panel
93
+ * @cssprop --menu-panel-border-color - Border color of the floating panel
94
+ * @cssprop --menu-panel-shadow - Box shadow of the floating panel
95
+ * @cssprop --menu-panel-blur - Backdrop blur amount for the floating panel
96
+ * @cssprop --menu-panel-min-width - Minimum width of the floating panel
97
+ * @cssprop --menu-panel-max-height - Maximum height of the floating panel before it scrolls
98
+ * @cssprop --menu-panel-radius - Border radius of the floating panel
99
+ *
100
+ * @example
101
+ * ```html
102
+ * <ore-menu>
103
+ * <button slot="trigger">Actions</button>
104
+ * <ore-menu-item value="edit">Edit</ore-menu-item>
105
+ * <ore-menu-item value="delete">Delete</ore-menu-item>
106
+ * </ore-menu>
107
+ * ```
108
+ */
109
+ export declare const MENU_TAG: "ore-menu";
110
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/overlay/menu/menu.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AASxB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,YAAY,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;IACvF,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,aAAa,EAAG,eAAwB,CAAC;AAwDtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAG,oBAA6B,CAAC;AAa3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{--_panel-bg:var(--popover-bg,var(--color-canvas));--_panel-blur:var(--popover-panel-blur,var(--blur-md));--_panel-border-color:var(--popover-border-color,var(--color-divider));--_panel-shadow:var(--popover-shadow,var(--shadow-xl));display:inline-block;position:relative}.panel{inset:unset;box-sizing:border-box;min-width:var(--popover-min-width,12rem);max-width:var(--popover-max-width,24rem);max-height:var(--popover-max-height,min(70vh, 32rem));word-break:auto-phrase;overflow-wrap:anywhere;background:var(--_panel-bg);border:var(--border) solid var(--_panel-border-color);border-radius:var(--rounded-lg);box-shadow:var(--_panel-shadow);opacity:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));transform:scale(var(--overlay-enter-scale-dialog)) translateY(4px);transition:opacity var(--transition-fast), transform .2s var(--ease-spring), display var(--transition-fast) allow-discrete, overlay var(--transition-fast) allow-discrete;margin:0;padding:0;position:fixed;overflow:auto}.panel[data-open]{opacity:1;display:block;transform:scale(1)translateY(0)}.panel:popover-open{opacity:1;transform:scale(1)translateY(0)}@starting-style{.panel:popover-open{opacity:0;transform:scale(var(--overlay-enter-scale-dialog)) translateY(4px)}}@starting-style{.panel[data-open]{opacity:0;transform:scale(var(--overlay-enter-scale-dialog)) translateY(4px)}}}`;exports.default=e;
2
+ //# sourceMappingURL=popover.css?inline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.css?inline.cjs","names":[],"sources":["../../../src/overlay/popover/popover.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_panel-bg: var(--popover-bg, var(--color-canvas));\n --_panel-blur: var(--popover-panel-blur, var(--blur-md));\n --_panel-border-color: var(--popover-border-color, var(--color-divider));\n --_panel-shadow: var(--popover-shadow, var(--shadow-xl));\n\n position: relative;\n display: inline-block;\n }\n\n .panel {\n position: fixed;\n\n /* Popover UA resets */\n inset: unset;\n box-sizing: border-box;\n min-width: var(--popover-min-width, 12rem);\n max-width: var(--popover-max-width, 24rem);\n max-height: var(--popover-max-height, min(70vh, 32rem));\n padding: 0;\n margin: 0;\n overflow: auto;\n word-break: auto-phrase;\n overflow-wrap: anywhere;\n background: var(--_panel-bg);\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--rounded-lg);\n box-shadow: var(--_panel-shadow);\n\n /* Hidden by default */\n opacity: 0;\n backdrop-filter: blur(var(--_panel-blur));\n transform: scale(var(--overlay-enter-scale-dialog)) translateY(4px);\n transition:\n opacity var(--transition-fast),\n transform 200ms var(--ease-spring),\n display var(--transition-fast) allow-discrete,\n overlay var(--transition-fast) allow-discrete;\n }\n\n .panel[data-open] {\n display: block;\n }\n\n .panel:popover-open,\n .panel[data-open] {\n opacity: 1;\n transform: scale(1) translateY(0);\n\n @starting-style {\n opacity: 0;\n transform: scale(var(--overlay-enter-scale-dialog)) translateY(4px);\n }\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/overlay/popover/popover.css?inline
2
+ var e = "@layer refine.base{:host{--_panel-bg:var(--popover-bg,var(--color-canvas));--_panel-blur:var(--popover-panel-blur,var(--blur-md));--_panel-border-color:var(--popover-border-color,var(--color-divider));--_panel-shadow:var(--popover-shadow,var(--shadow-xl));display:inline-block;position:relative}.panel{inset:unset;box-sizing:border-box;min-width:var(--popover-min-width,12rem);max-width:var(--popover-max-width,24rem);max-height:var(--popover-max-height,min(70vh, 32rem));word-break:auto-phrase;overflow-wrap:anywhere;background:var(--_panel-bg);border:var(--border) solid var(--_panel-border-color);border-radius:var(--rounded-lg);box-shadow:var(--_panel-shadow);opacity:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));transform:scale(var(--overlay-enter-scale-dialog)) translateY(4px);transition:opacity var(--transition-fast), transform .2s var(--ease-spring), display var(--transition-fast) allow-discrete, overlay var(--transition-fast) allow-discrete;margin:0;padding:0;position:fixed;overflow:auto}.panel[data-open]{opacity:1;display:block;transform:scale(1)translateY(0)}.panel:popover-open{opacity:1;transform:scale(1)translateY(0)}@starting-style{.panel:popover-open{opacity:0;transform:scale(var(--overlay-enter-scale-dialog)) translateY(4px)}}@starting-style{.panel[data-open]{opacity:0;transform:scale(var(--overlay-enter-scale-dialog)) translateY(4px)}}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=popover.css?inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.css?inline.js","names":[],"sources":["../../../src/overlay/popover/popover.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_panel-bg: var(--popover-bg, var(--color-canvas));\n --_panel-blur: var(--popover-panel-blur, var(--blur-md));\n --_panel-border-color: var(--popover-border-color, var(--color-divider));\n --_panel-shadow: var(--popover-shadow, var(--shadow-xl));\n\n position: relative;\n display: inline-block;\n }\n\n .panel {\n position: fixed;\n\n /* Popover UA resets */\n inset: unset;\n box-sizing: border-box;\n min-width: var(--popover-min-width, 12rem);\n max-width: var(--popover-max-width, 24rem);\n max-height: var(--popover-max-height, min(70vh, 32rem));\n padding: 0;\n margin: 0;\n overflow: auto;\n word-break: auto-phrase;\n overflow-wrap: anywhere;\n background: var(--_panel-bg);\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--rounded-lg);\n box-shadow: var(--_panel-shadow);\n\n /* Hidden by default */\n opacity: 0;\n backdrop-filter: blur(var(--_panel-blur));\n transform: scale(var(--overlay-enter-scale-dialog)) translateY(4px);\n transition:\n opacity var(--transition-fast),\n transform 200ms var(--ease-spring),\n display var(--transition-fast) allow-discrete,\n overlay var(--transition-fast) allow-discrete;\n }\n\n .panel[data-open] {\n display: block;\n }\n\n .panel:popover-open,\n .panel[data-open] {\n opacity: 1;\n transform: scale(1) translateY(0);\n\n @starting-style {\n opacity: 0;\n transform: scale(var(--overlay-enter-scale-dialog)) translateY(4px);\n }\n }\n}\n"],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { type Placement } from '@vielzeug/orbit';
2
+ import { type DialogCloseReason, type OverlayOpenReason } from '../../headless';
3
+ export type PopoverTrigger = 'click' | 'focus' | 'hover';
4
+ export type OrePopoverEvents = {
5
+ /** Emitted when the popover closes */
6
+ close: {
7
+ reason: DialogCloseReason;
8
+ };
9
+ /** Emitted when the popover opens */
10
+ open: {
11
+ reason: OverlayOpenReason;
12
+ };
13
+ };
14
+ /** Popover component properties */
15
+ export type OrePopoverProps = {
16
+ /** Disable the popover */
17
+ disabled?: boolean;
18
+ /** Accessible label for the panel */
19
+ label?: string;
20
+ /** Gap between trigger and panel in px */
21
+ offset?: number;
22
+ /** Controlled open state */
23
+ open?: boolean;
24
+ /** Preferred placement relative to the trigger */
25
+ placement?: Placement;
26
+ /** Which trigger(s) open/close the popover */
27
+ trigger?: string;
28
+ };
29
+ /**
30
+ * A floating panel anchored to a trigger element.
31
+ *
32
+ * @element ore-popover
33
+ * @attr {string} placement - Preferred placement (default: 'bottom')
34
+ * @attr {string} trigger - 'click' | 'hover' | 'focus' (default: 'click')
35
+ * @attr {boolean} open - Controlled open state
36
+ * @attr {number} offset - Gap in px (default: 8)
37
+ * @attr {boolean} disabled - Disables the popover
38
+ * @attr {string} label - aria-label on the panel
39
+ * @fires open - When the panel opens. detail: { reason: string }
40
+ * @fires close - When the panel closes. detail: { reason: string }
41
+ * @slot - The trigger element
42
+ * @slot content - Panel content
43
+ * @part panel - Panel container.
44
+ *
45
+ * @example
46
+ * ```html
47
+ * <ore-popover placement="bottom" trigger="click">
48
+ * <ore-button>Open info</ore-button>
49
+ * <div slot="content">
50
+ * <p>Popover body content goes here.</p>
51
+ * </div>
52
+ * </ore-popover>
53
+ * ```
54
+ */
55
+ export declare const POPOVER_TAG: "ore-popover";
56
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/overlay/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAuB,MAAM,gBAAgB,CAAC;AAMrG,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AASzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sCAAsC;IACtC,KAAK,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACrC,qCAAqC;IACrC,IAAI,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,eAAe,GAAG;IAC5B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,WAAW,EAAG,aAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ function e(e,t,n=`animation`){typeof getComputedStyle==`function`&&getComputedStyle(e).opacity,queueMicrotask(()=>{let r=(typeof e.getAnimations==`function`?()=>e.getAnimations():()=>[])().filter(e=>n===`animation`?e instanceof CSSAnimation:n===`transition`?e instanceof CSSTransition:!1);if(r.length===0){t();return}let i=!1;Promise.allSettled(r.map(e=>e.finished)).then(()=>{i||(i=!0,t())})})}exports.awaitExit=e;
2
+ //# sourceMappingURL=await-exit.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"await-exit.cjs","names":[],"sources":["../../../src/overlay/shared/await-exit.ts"],"sourcesContent":["/**\n * Waits for a CSS exit animation or transition to finish, then calls `onDone`.\n *\n * Uses the Web Animations API (`element.getAnimations()`) when available for\n * precise, synchronous detection. Falls back to a single microtask + immediate\n * call when no relevant animations are running (e.g. `prefers-reduced-motion`\n * or overridden styles).\n *\n * @param el - The element whose animations/transitions to observe.\n * @param onDone - Callback invoked exactly once when all animations end.\n * @param type - `'animation'` (default) or `'transition'`.\n */\nexport function awaitExit(el: Element, onDone: () => void, type: 'animation' | 'transition' = 'animation'): void {\n // Force a synchronous style recalc so that any CSS class changes applied\n // immediately before this call (e.g. adding 'closing') are committed and\n // CSSTransition / CSSAnimation instances appear in getAnimations().\n // Reading getComputedStyle() is the lightest layout-flush trigger available;\n // in jsdom it is a no-op stub so test timing is unaffected.\n if (typeof getComputedStyle === 'function') void getComputedStyle(el).opacity;\n\n queueMicrotask(() => {\n const getAnimations = typeof el.getAnimations === 'function' ? () => el.getAnimations() : () => [];\n const relevant = getAnimations().filter((a) => {\n if (type === 'animation') return a instanceof CSSAnimation;\n\n if (type === 'transition') return a instanceof CSSTransition;\n\n return false;\n });\n\n if (relevant.length === 0) {\n onDone();\n\n return;\n }\n\n let done = false;\n const finish = () => {\n if (done) return;\n\n done = true;\n onDone();\n };\n\n // Resolve when ALL relevant animations are finished or cancelled.\n Promise.allSettled(relevant.map((a) => a.finished)).then(finish);\n });\n}\n"],"mappings":"AAYA,SAAgB,EAAU,EAAa,EAAoB,EAAmC,YAAmB,CAM3G,OAAO,kBAAqB,YAAY,iBAAsB,CAAE,CAAC,CAAC,QAEtE,mBAAqB,CAEnB,IAAM,GADgB,OAAO,EAAG,eAAkB,eAAmB,EAAG,cAAc,MAAU,CAAC,EAAA,CAClE,CAAC,CAAC,OAAQ,GACnC,IAAS,YAAoB,aAAa,aAE1C,IAAS,aAAqB,aAAa,cAExC,EACR,EAED,GAAI,EAAS,SAAW,EAAG,CACzB,EAAO,EAEP,MACF,CAEA,IAAI,EAAO,GASX,QAAQ,WAAW,EAAS,IAAK,GAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAR/B,CACf,IAEJ,EAAO,GACP,EAAO,EACT,CAG+D,CACjE,CAAC,CACH"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Waits for a CSS exit animation or transition to finish, then calls `onDone`.
3
+ *
4
+ * Uses the Web Animations API (`element.getAnimations()`) when available for
5
+ * precise, synchronous detection. Falls back to a single microtask + immediate
6
+ * call when no relevant animations are running (e.g. `prefers-reduced-motion`
7
+ * or overridden styles).
8
+ *
9
+ * @param el - The element whose animations/transitions to observe.
10
+ * @param onDone - Callback invoked exactly once when all animations end.
11
+ * @param type - `'animation'` (default) or `'transition'`.
12
+ */
13
+ export declare function awaitExit(el: Element, onDone: () => void, type?: 'animation' | 'transition'): void;
14
+ //# sourceMappingURL=await-exit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"await-exit.d.ts","sourceRoot":"","sources":["../../../src/overlay/shared/await-exit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,WAAW,GAAG,YAA0B,GAAG,IAAI,CAmC/G"}
@@ -0,0 +1,18 @@
1
+ //#region src/overlay/shared/await-exit.ts
2
+ function e(e, t, n = "animation") {
3
+ typeof getComputedStyle == "function" && getComputedStyle(e).opacity, queueMicrotask(() => {
4
+ let r = (typeof e.getAnimations == "function" ? () => e.getAnimations() : () => [])().filter((e) => n === "animation" ? e instanceof CSSAnimation : n === "transition" ? e instanceof CSSTransition : !1);
5
+ if (r.length === 0) {
6
+ t();
7
+ return;
8
+ }
9
+ let i = !1;
10
+ Promise.allSettled(r.map((e) => e.finished)).then(() => {
11
+ i || (i = !0, t());
12
+ });
13
+ });
14
+ }
15
+ //#endregion
16
+ export { e as awaitExit };
17
+
18
+ //# sourceMappingURL=await-exit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"await-exit.js","names":[],"sources":["../../../src/overlay/shared/await-exit.ts"],"sourcesContent":["/**\n * Waits for a CSS exit animation or transition to finish, then calls `onDone`.\n *\n * Uses the Web Animations API (`element.getAnimations()`) when available for\n * precise, synchronous detection. Falls back to a single microtask + immediate\n * call when no relevant animations are running (e.g. `prefers-reduced-motion`\n * or overridden styles).\n *\n * @param el - The element whose animations/transitions to observe.\n * @param onDone - Callback invoked exactly once when all animations end.\n * @param type - `'animation'` (default) or `'transition'`.\n */\nexport function awaitExit(el: Element, onDone: () => void, type: 'animation' | 'transition' = 'animation'): void {\n // Force a synchronous style recalc so that any CSS class changes applied\n // immediately before this call (e.g. adding 'closing') are committed and\n // CSSTransition / CSSAnimation instances appear in getAnimations().\n // Reading getComputedStyle() is the lightest layout-flush trigger available;\n // in jsdom it is a no-op stub so test timing is unaffected.\n if (typeof getComputedStyle === 'function') void getComputedStyle(el).opacity;\n\n queueMicrotask(() => {\n const getAnimations = typeof el.getAnimations === 'function' ? () => el.getAnimations() : () => [];\n const relevant = getAnimations().filter((a) => {\n if (type === 'animation') return a instanceof CSSAnimation;\n\n if (type === 'transition') return a instanceof CSSTransition;\n\n return false;\n });\n\n if (relevant.length === 0) {\n onDone();\n\n return;\n }\n\n let done = false;\n const finish = () => {\n if (done) return;\n\n done = true;\n onDone();\n };\n\n // Resolve when ALL relevant animations are finished or cancelled.\n Promise.allSettled(relevant.map((a) => a.finished)).then(finish);\n });\n}\n"],"mappings":";AAYA,SAAgB,EAAU,GAAa,GAAoB,IAAmC,aAAmB;CAQ/G,AAFI,OAAO,oBAAqB,cAAY,iBAAsB,CAAE,CAAC,CAAC,SAEtE,qBAAqB;EAEnB,IAAM,KADgB,OAAO,EAAG,iBAAkB,mBAAmB,EAAG,cAAc,UAAU,CAAC,EAAA,CAClE,CAAC,CAAC,QAAQ,MACnC,MAAS,cAAoB,aAAa,eAE1C,MAAS,eAAqB,aAAa,gBAExC,EACR;EAED,IAAI,EAAS,WAAW,GAAG;GACzB,EAAO;GAEP;EACF;EAEA,IAAI,IAAO;EASX,QAAQ,WAAW,EAAS,KAAK,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAR/B;GACf,MAEJ,IAAO,IACP,EAAO;EACT,CAG+D;CACjE,CAAC;AACH"}
@@ -0,0 +1,2 @@
1
+ function e(){let e=0,t=[];return{lock(n){if(e===0){let e=n;for(;e.parentElement&&e.parentElement!==document.body;)e=e.parentElement;t=Array.from(document.body.children).filter(t=>t!==e&&!t.hasAttribute(`inert`));for(let e of t)e.setAttribute(`inert`,``)}e++},unlock(){if(e=Math.max(0,e-1),e===0){for(let e of t)e.removeAttribute(`inert`);t=[]}}}}exports.createBackgroundLock=e;
2
+ //# sourceMappingURL=background-lock.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-lock.cjs","names":[],"sources":["../../../src/overlay/shared/background-lock.ts"],"sourcesContent":["/**\n * Shared background-lock utility for overlay components (dialog, drawer, etc.).\n *\n * Uses a reference count so that multiple stacked overlays each call\n * lock / unlock independently without interfering with each other. The `inert`\n * attribute is applied once when the first overlay opens and removed once the\n * last one closes.\n *\n * The factory pattern (`createBackgroundLock`) provides test-isolated instances.\n * The module-level `lockBackground` / `unlockBackground` are the defaults used\n * by all runtime components.\n */\n\nexport type BackgroundLock = {\n lock(host: Element): void;\n unlock(): void;\n};\n\nexport function createBackgroundLock(): BackgroundLock {\n let lockCount = 0;\n let lockedEls: Element[] = [];\n\n return {\n lock(host: Element): void {\n if (lockCount === 0) {\n let ancestor: Element = host;\n\n while (ancestor.parentElement && ancestor.parentElement !== document.body) {\n ancestor = ancestor.parentElement;\n }\n\n lockedEls = Array.from(document.body.children).filter((el) => el !== ancestor && !el.hasAttribute('inert'));\n\n for (const el of lockedEls) el.setAttribute('inert', '');\n }\n\n lockCount++;\n },\n\n unlock(): void {\n lockCount = Math.max(0, lockCount - 1);\n\n if (lockCount === 0) {\n for (const el of lockedEls) el.removeAttribute('inert');\n lockedEls = [];\n }\n },\n };\n}\n\nconst _default = createBackgroundLock();\n\n/** Marks sibling elements as inert. Safe to call from multiple concurrent overlays. */\nexport const lockBackground = (host: Element): void => _default.lock(host);\n\n/** Releases the background lock. Removes inert when all overlays have closed. */\nexport const unlockBackground = (): void => _default.unlock();\n"],"mappings":"AAkBA,SAAgB,GAAuC,CACrD,IAAI,EAAY,EACZ,EAAuB,CAAC,EAE5B,MAAO,CACL,KAAK,EAAqB,CACxB,GAAI,IAAc,EAAG,CACnB,IAAI,EAAoB,EAExB,KAAO,EAAS,eAAiB,EAAS,gBAAkB,SAAS,MACnE,EAAW,EAAS,cAGtB,EAAY,MAAM,KAAK,SAAS,KAAK,QAAQ,CAAC,CAAC,OAAQ,GAAO,IAAO,GAAY,CAAC,EAAG,aAAa,OAAO,CAAC,EAE1G,IAAK,IAAM,KAAM,EAAW,EAAG,aAAa,QAAS,EAAE,CACzD,CAEA,GACF,EAEA,QAAe,CAGb,GAFA,EAAY,KAAK,IAAI,EAAG,EAAY,CAAC,EAEjC,IAAc,EAAG,CACnB,IAAK,IAAM,KAAM,EAAW,EAAG,gBAAgB,OAAO,EACtD,EAAY,CAAC,CACf,CACF,CACF,CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Shared background-lock utility for overlay components (dialog, drawer, etc.).
3
+ *
4
+ * Uses a reference count so that multiple stacked overlays each call
5
+ * lock / unlock independently without interfering with each other. The `inert`
6
+ * attribute is applied once when the first overlay opens and removed once the
7
+ * last one closes.
8
+ *
9
+ * The factory pattern (`createBackgroundLock`) provides test-isolated instances.
10
+ * The module-level `lockBackground` / `unlockBackground` are the defaults used
11
+ * by all runtime components.
12
+ */
13
+ export type BackgroundLock = {
14
+ lock(host: Element): void;
15
+ unlock(): void;
16
+ };
17
+ export declare function createBackgroundLock(): BackgroundLock;
18
+ /** Marks sibling elements as inert. Safe to call from multiple concurrent overlays. */
19
+ export declare const lockBackground: (host: Element) => void;
20
+ /** Releases the background lock. Removes inert when all overlays have closed. */
21
+ export declare const unlockBackground: () => void;
22
+ //# sourceMappingURL=background-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-lock.d.ts","sourceRoot":"","sources":["../../../src/overlay/shared/background-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,cAAc,CA8BrD;AAID,uFAAuF;AACvF,eAAO,MAAM,cAAc,GAAI,MAAM,OAAO,KAAG,IAA2B,CAAC;AAE3E,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,QAAO,IAAyB,CAAC"}
@@ -0,0 +1,25 @@
1
+ //#region src/overlay/shared/background-lock.ts
2
+ function e() {
3
+ let e = 0, t = [];
4
+ return {
5
+ lock(n) {
6
+ if (e === 0) {
7
+ let e = n;
8
+ for (; e.parentElement && e.parentElement !== document.body;) e = e.parentElement;
9
+ t = Array.from(document.body.children).filter((t) => t !== e && !t.hasAttribute("inert"));
10
+ for (let e of t) e.setAttribute("inert", "");
11
+ }
12
+ e++;
13
+ },
14
+ unlock() {
15
+ if (e = Math.max(0, e - 1), e === 0) {
16
+ for (let e of t) e.removeAttribute("inert");
17
+ t = [];
18
+ }
19
+ }
20
+ };
21
+ }
22
+ //#endregion
23
+ export { e as createBackgroundLock };
24
+
25
+ //# sourceMappingURL=background-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-lock.js","names":[],"sources":["../../../src/overlay/shared/background-lock.ts"],"sourcesContent":["/**\n * Shared background-lock utility for overlay components (dialog, drawer, etc.).\n *\n * Uses a reference count so that multiple stacked overlays each call\n * lock / unlock independently without interfering with each other. The `inert`\n * attribute is applied once when the first overlay opens and removed once the\n * last one closes.\n *\n * The factory pattern (`createBackgroundLock`) provides test-isolated instances.\n * The module-level `lockBackground` / `unlockBackground` are the defaults used\n * by all runtime components.\n */\n\nexport type BackgroundLock = {\n lock(host: Element): void;\n unlock(): void;\n};\n\nexport function createBackgroundLock(): BackgroundLock {\n let lockCount = 0;\n let lockedEls: Element[] = [];\n\n return {\n lock(host: Element): void {\n if (lockCount === 0) {\n let ancestor: Element = host;\n\n while (ancestor.parentElement && ancestor.parentElement !== document.body) {\n ancestor = ancestor.parentElement;\n }\n\n lockedEls = Array.from(document.body.children).filter((el) => el !== ancestor && !el.hasAttribute('inert'));\n\n for (const el of lockedEls) el.setAttribute('inert', '');\n }\n\n lockCount++;\n },\n\n unlock(): void {\n lockCount = Math.max(0, lockCount - 1);\n\n if (lockCount === 0) {\n for (const el of lockedEls) el.removeAttribute('inert');\n lockedEls = [];\n }\n },\n };\n}\n\nconst _default = createBackgroundLock();\n\n/** Marks sibling elements as inert. Safe to call from multiple concurrent overlays. */\nexport const lockBackground = (host: Element): void => _default.lock(host);\n\n/** Releases the background lock. Removes inert when all overlays have closed. */\nexport const unlockBackground = (): void => _default.unlock();\n"],"mappings":";AAkBA,SAAgB,IAAuC;CACrD,IAAI,IAAY,GACZ,IAAuB,CAAC;CAE5B,OAAO;EACL,KAAK,GAAqB;GACxB,IAAI,MAAc,GAAG;IACnB,IAAI,IAAoB;IAExB,OAAO,EAAS,iBAAiB,EAAS,kBAAkB,SAAS,OACnE,IAAW,EAAS;IAGtB,IAAY,MAAM,KAAK,SAAS,KAAK,QAAQ,CAAC,CAAC,QAAQ,MAAO,MAAO,KAAY,CAAC,EAAG,aAAa,OAAO,CAAC;IAE1G,KAAK,IAAM,KAAM,GAAW,EAAG,aAAa,SAAS,EAAE;GACzD;GAEA;EACF;EAEA,SAAe;GAGb,IAFA,IAAY,KAAK,IAAI,GAAG,IAAY,CAAC,GAEjC,MAAc,GAAG;IACnB,KAAK,IAAM,KAAM,GAAW,EAAG,gBAAgB,OAAO;IACtD,IAAY,CAAC;GACf;EACF;CACF;AACF"}
@@ -0,0 +1,2 @@
1
+ const e=require("../../headless/ore.cjs"),t=require("../../headless/overlay.cjs"),n=require("../../headless/focus.cjs"),r=require("./await-exit.cjs"),i=require("./background-lock.cjs");let a=require("@vielzeug/ripple");function o(o){let s=e.lifecycleSignal(o.onCleanup),c=(0,a.signal)(!1),l=`programmatic`,u=i.createBackgroundLock(),d=!1,f=n.createFocusManager({getInitialFocusSelector:()=>o.initialFocus.value,getReturnFocus:()=>o.returnFocus.value,host:o.host}),p=()=>{let e=o.dialogRef.value;if(!e?.open||d)return;d=!0,e.classList.add(`closing`);let t=()=>{e.close(),d=!1},n=o.getPanelEl();n?r.awaitExit(n,t,`transition`):t()},m=e=>o.host.dispatchEvent(new CustomEvent(`close-request`,{bubbles:!0,cancelable:!0,composed:!0,detail:{reason:e,...o.closeRequestDetail?.(e)}})),h=t.createOverlayControl({getBoundary:()=>o.host,getPanel:()=>{let e=o.getPanelEl();return e instanceof HTMLElement?e:null},isOpen:()=>c.value,onOpen:o.onOpen,setOpen:(e,t)=>{let n=o.dialogRef.value;if(n){if(e){if(n.open)return;n.classList.remove(`closing`),f.captureReturnFocus(),o.beforeOpen?.(n),n.showModal(),u.lock(o.host),f.applyInitialFocus(),c.value=!0;return}if(n.open){l=t,(o.performClose??(e=>e.close()))(n,t);return}c.value=!1}},signal:s}),g=e=>{m(e)&&h.close(e,!1)};o.host.addEventListener(`command`,e=>{let t=e.command;t===`show-modal`?h.open(`trigger`):(t===`close`||t===`request-close`)&&g(`trigger`)},{signal:s});let _=e=>{e.preventDefault(),!o.isPersistent()&&g(`escape`)},v=e=>{o.isPersistent()||e.target===o.dialogRef.value&&g(`outsideClick`)},y=()=>{u.unlock(),o.host.removeAttribute(`open`),c.value=!1,f.restoreFocus();let e=l;l=`programmatic`,o.onNativeClose?.(e)},b=()=>{let e=o.dialogRef.value;e&&o.onEvent(e,`close`,y),(0,a.watch)(o.openProp,e=>{e?h.open(`programmatic`):h.close(`programmatic`,!1)},{immediate:!0})};return{closeWithAnimation:p,dispatchCloseRequest:m,handleBackdropClick:v,handleCancel:_,isOpen:c,overlay:h,requestClose:g,setupNativeListeners:()=>{let e=o.dialogRef.value;e&&(b(),o.onEvent(e,`click`,v),o.onEvent(e,`cancel`,_))},watchOpenProp:b}}exports.useDialogControl=o;
2
+ //# sourceMappingURL=use-dialog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dialog.cjs","names":[],"sources":["../../../src/overlay/shared/use-dialog.ts"],"sourcesContent":["import { type Readable, type Signal, signal, watch } from '@vielzeug/ripple';\n\nimport {\n lifecycleSignal,\n createOverlayControl,\n type DialogCloseReason,\n type OverlayControl,\n type OverlayOpenReason,\n} from '../../headless';\nimport { createFocusManager } from '../../headless/focus';\nimport { awaitExit } from './await-exit';\nimport { createBackgroundLock } from './background-lock';\n\n// Invoker Commands API — not yet in lib.dom.d.ts\ninterface CommandEvent extends Event {\n command: string;\n}\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\nexport type UseDialogOptions = {\n /** Called after showModal() but before isOpen = true. Use to clear drag styles etc. */\n beforeOpen?: (dialog: HTMLDialogElement) => void;\n /** Extra properties merged into the `close-request` custom event detail. */\n closeRequestDetail?: (reason: Exclude<DialogCloseReason, 'programmatic'>) => Record<string, unknown>;\n dialogRef: { value: HTMLDialogElement | null | undefined };\n getPanelEl: () => HTMLElement | null | undefined;\n host: HTMLElement;\n initialFocus: Readable<string | undefined>;\n isPersistent: () => boolean;\n /** Cleanup registrar from the component setup ctx. Automatically called on disconnect. */\n onCleanup: (fn: () => void) => void;\n /**\n * Scoped event listener registrar from the component setup ctx.\n * Automatically removed on component disconnect.\n */\n onEvent: <K extends keyof HTMLElementEventMap>(\n target: EventTarget | null | undefined,\n event: K,\n listener: (e: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions,\n ) => void;\n /**\n * Called after the native `close` event fires — after background unlock,\n * isOpen reset, and focus restore. Use to emit component events.\n */\n onNativeClose?: (reason: DialogCloseReason) => void;\n /** Called by the overlay on open. Use to emit events. */\n onOpen?: (reason: OverlayOpenReason) => void;\n /** Open prop from the component — drives programmatic open/close via watch. */\n openProp: Readable<boolean | undefined>;\n /**\n * Called by the overlay when closing. Orchestrates the close animation.\n * Default: `dialog.close()`. Override in dialog.ts to add the CSS exit animation.\n */\n performClose?: (dialog: HTMLDialogElement, reason: DialogCloseReason) => void;\n returnFocus: Readable<boolean | undefined>;\n};\n\nexport type UseDialogHandle = {\n closeWithAnimation: () => void;\n /**\n * Dispatch a cancelable `close-request` event on the host. Returns true when\n * the close is allowed (event not prevented), false when it was cancelled.\n */\n dispatchCloseRequest: (reason: Exclude<DialogCloseReason, 'programmatic'>) => boolean;\n handleBackdropClick: (e: MouseEvent) => void;\n handleCancel: (e: Event) => void;\n isOpen: Signal<boolean>;\n /** The overlay control — open/close/toggle/dispose. */\n overlay: OverlayControl;\n /**\n * Dispatch `close-request`; if allowed, call `overlay.close()`.\n */\n requestClose: (reason: Exclude<DialogCloseReason, 'programmatic'>) => void;\n /**\n * Registers the open-prop watcher AND standard click/cancel event listeners on\n * the dialog element (backdrop click-to-close, Escape via the native `cancel`\n * event). Use for components that need standard dialog behavior.\n * Call inside `onMounted()`.\n */\n setupNativeListeners: () => void;\n /**\n * Registers only the open-prop watcher (without adding click/cancel listeners).\n * Use for components like drawer that register their own event handlers.\n * Call inside `onMounted()`.\n */\n watchOpenProp: () => void;\n};\n\n// ── Factory ───────────────────────────────────────────────────────────────────\n\n/**\n * Shared dialog-control composable for `ore-dialog` and `ore-drawer`.\n *\n * Owns: `isOpen`, close-reason tracking, focus management, `overlay`,\n * `requestClose`, background lock/unlock, and the `close` event handler.\n * Components supply only their unique behavior via callbacks and `onNativeClose`.\n */\nexport function useDialogControl(options: UseDialogOptions): UseDialogHandle {\n const abortSignal = lifecycleSignal(options.onCleanup);\n const isOpen = signal(false);\n // Internal close-reason: set atomically before dialog.close() fires.\n let pendingCloseReason: DialogCloseReason = 'programmatic';\n const bgLock = createBackgroundLock();\n let isClosing = false;\n\n // ── Focus management ──────────────────────────────────────────────────────\n const focus = createFocusManager({\n getInitialFocusSelector: () => options.initialFocus.value,\n getReturnFocus: () => options.returnFocus.value,\n host: options.host,\n });\n // ─────────────────────────────────────────────────────────────────────────\n\n const closeWithAnimation = (): void => {\n const dialog = options.dialogRef.value;\n\n if (!dialog?.open || isClosing) return;\n\n isClosing = true;\n dialog.classList.add('closing');\n\n const finish = () => {\n dialog.close();\n // Do NOT remove 'closing' here — removing it while the native ::backdrop is\n // still held in the top layer by the 'overlay allow-discrete' transition\n // would revert its opacity to 1 and cause a visible flash. The class is\n // cleaned up at the start of the next open cycle (see setOpen below).\n isClosing = false;\n };\n\n const panel = options.getPanelEl();\n\n if (panel) {\n awaitExit(panel, finish, 'transition');\n } else {\n finish();\n }\n };\n\n const dispatchCloseRequest = (reason: Exclude<DialogCloseReason, 'programmatic'>): boolean => {\n return options.host.dispatchEvent(\n new CustomEvent('close-request', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: { reason, ...options.closeRequestDetail?.(reason) },\n }),\n );\n };\n\n const overlay = createOverlayControl({\n getBoundary: () => options.host,\n getPanel: () => {\n const panel = options.getPanelEl();\n\n return panel instanceof HTMLElement ? panel : null;\n },\n isOpen: () => isOpen.value,\n onOpen: options.onOpen,\n setOpen: (next, reason) => {\n const dialog = options.dialogRef.value;\n\n if (!dialog) return;\n\n if (next) {\n if (dialog.open) return;\n\n // Clean up any leftover 'closing' class from the previous close animation\n // before opening so the entry @starting-style and transition work correctly.\n dialog.classList.remove('closing');\n focus.captureReturnFocus();\n options.beforeOpen?.(dialog);\n dialog.showModal();\n bgLock.lock(options.host);\n focus.applyInitialFocus();\n isOpen.value = true;\n\n return;\n }\n\n if (dialog.open) {\n // Capture reason before calling performClose so handleNativeClose can read it.\n pendingCloseReason = reason as DialogCloseReason;\n\n const performClose = options.performClose ?? ((d) => d.close());\n\n performClose(dialog, reason as DialogCloseReason);\n\n return;\n }\n\n isOpen.value = false;\n },\n signal: abortSignal,\n });\n\n const requestClose = (reason: Exclude<DialogCloseReason, 'programmatic'>): void => {\n const allowed = dispatchCloseRequest(reason);\n\n if (!allowed) return;\n\n overlay.close(reason, false);\n };\n\n // Invoker Commands API — allows declarative open/close from outside the component:\n // <button commandfor=\"ore-dialog-id\" command=\"show-modal\">Open</button>\n // <button commandfor=\"ore-dialog-id\" command=\"close\">Close</button>\n options.host.addEventListener(\n 'command',\n (e: Event) => {\n const cmd = (e as CommandEvent).command;\n\n if (cmd === 'show-modal') overlay.open('trigger');\n else if (cmd === 'close' || cmd === 'request-close') requestClose('trigger');\n },\n { signal: abortSignal },\n );\n\n // The native `<dialog>` element auto-closes on Escape via its own close-watcher, which\n // dispatches a cancelable `cancel` event before `close`. Suppressing/redirecting that is the\n // spec-correct hook — relying on `keydown`'s `preventDefault()` to stop the close-watcher is\n // implementation-specific, not guaranteed across browsers.\n const handleCancel = (e: Event): void => {\n e.preventDefault();\n\n if (options.isPersistent()) return;\n\n requestClose('escape');\n };\n\n const handleBackdropClick = (e: MouseEvent): void => {\n if (options.isPersistent()) return;\n\n if (e.target === options.dialogRef.value) requestClose('outsideClick');\n };\n\n // ── Internal native close handler ─────────────────────────────────────────\n const handleNativeClose = (): void => {\n bgLock.unlock();\n options.host.removeAttribute('open');\n isOpen.value = false;\n focus.restoreFocus();\n\n const reason = pendingCloseReason;\n\n pendingCloseReason = 'programmatic';\n options.onNativeClose?.(reason);\n };\n\n const watchOpenProp = (): void => {\n const dialog = options.dialogRef.value;\n\n if (dialog) options.onEvent(dialog, 'close', handleNativeClose);\n\n watch(\n options.openProp,\n (open) => {\n if (open) {\n overlay.open('programmatic');\n } else {\n overlay.close('programmatic', false);\n }\n },\n { immediate: true },\n );\n };\n\n const setupNativeListeners = (): void => {\n const dialog = options.dialogRef.value;\n\n if (!dialog) return;\n\n watchOpenProp();\n options.onEvent(dialog, 'click', handleBackdropClick);\n options.onEvent(dialog, 'cancel', handleCancel);\n };\n\n return {\n closeWithAnimation,\n dispatchCloseRequest,\n handleBackdropClick,\n handleCancel,\n isOpen,\n overlay,\n requestClose,\n setupNativeListeners,\n watchOpenProp,\n };\n}\n"],"mappings":"2NAmGA,SAAgB,EAAiB,EAA4C,CAC3E,IAAM,EAAc,EAAA,gBAAgB,EAAQ,SAAS,EAC/C,GAAA,EAAA,EAAA,OAAA,CAAgB,EAAK,EAEvB,EAAwC,eACtC,EAAS,EAAA,qBAAqB,EAChC,EAAY,GAGV,EAAQ,EAAA,mBAAmB,CAC/B,4BAA+B,EAAQ,aAAa,MACpD,mBAAsB,EAAQ,YAAY,MAC1C,KAAM,EAAQ,IAChB,CAAC,EAGK,MAAiC,CACrC,IAAM,EAAS,EAAQ,UAAU,MAEjC,GAAI,CAAC,GAAQ,MAAQ,EAAW,OAEhC,EAAY,GACZ,EAAO,UAAU,IAAI,SAAS,EAE9B,IAAM,MAAe,CACnB,EAAO,MAAM,EAKb,EAAY,EACd,EAEM,EAAQ,EAAQ,WAAW,EAE7B,EACF,EAAA,UAAU,EAAO,EAAQ,YAAY,EAErC,EAAO,CAEX,EAEM,EAAwB,GACrB,EAAQ,KAAK,cAClB,IAAI,YAAY,gBAAiB,CAC/B,QAAS,GACT,WAAY,GACZ,SAAU,GACV,OAAQ,CAAE,SAAQ,GAAG,EAAQ,qBAAqB,CAAM,CAAE,CAC5D,CAAC,CACH,EAGI,EAAU,EAAA,qBAAqB,CACnC,gBAAmB,EAAQ,KAC3B,aAAgB,CACd,IAAM,EAAQ,EAAQ,WAAW,EAEjC,OAAO,aAAiB,YAAc,EAAQ,IAChD,EACA,WAAc,EAAO,MACrB,OAAQ,EAAQ,OAChB,SAAU,EAAM,IAAW,CACzB,IAAM,EAAS,EAAQ,UAAU,MAE5B,KAEL,IAAI,EAAM,CACR,GAAI,EAAO,KAAM,OAIjB,EAAO,UAAU,OAAO,SAAS,EACjC,EAAM,mBAAmB,EACzB,EAAQ,aAAa,CAAM,EAC3B,EAAO,UAAU,EACjB,EAAO,KAAK,EAAQ,IAAI,EACxB,EAAM,kBAAkB,EACxB,EAAO,MAAQ,GAEf,MACF,CAEA,GAAI,EAAO,KAAM,CAEf,EAAqB,GAEA,EAAQ,eAAkB,GAAM,EAAE,MAAM,GAAA,CAEhD,EAAQ,CAA2B,EAEhD,MACF,CAEA,EAAO,MAAQ,EAbf,CAcF,EACA,OAAQ,CACV,CAAC,EAEK,EAAgB,GAA6D,CACjE,EAAqB,CAEhC,GAEL,EAAQ,MAAM,EAAQ,EAAK,CAC7B,EAKA,EAAQ,KAAK,iBACX,UACC,GAAa,CACZ,IAAM,EAAO,EAAmB,QAE5B,IAAQ,aAAc,EAAQ,KAAK,SAAS,GACvC,IAAQ,SAAW,IAAQ,kBAAiB,EAAa,SAAS,CAC7E,EACA,CAAE,OAAQ,CAAY,CACxB,EAMA,IAAM,EAAgB,GAAmB,CACvC,EAAE,eAAe,EAEb,GAAQ,aAAa,GAEzB,EAAa,QAAQ,CACvB,EAEM,EAAuB,GAAwB,CAC/C,EAAQ,aAAa,GAErB,EAAE,SAAW,EAAQ,UAAU,OAAO,EAAa,cAAc,CACvE,EAGM,MAAgC,CACpC,EAAO,OAAO,EACd,EAAQ,KAAK,gBAAgB,MAAM,EACnC,EAAO,MAAQ,GACf,EAAM,aAAa,EAEnB,IAAM,EAAS,EAEf,EAAqB,eACrB,EAAQ,gBAAgB,CAAM,CAChC,EAEM,MAA4B,CAChC,IAAM,EAAS,EAAQ,UAAU,MAE7B,GAAQ,EAAQ,QAAQ,EAAQ,QAAS,CAAiB,GAE9D,EAAA,EAAA,MAAA,CACE,EAAQ,SACP,GAAS,CACJ,EACF,EAAQ,KAAK,cAAc,EAE3B,EAAQ,MAAM,eAAgB,EAAK,CAEvC,EACA,CAAE,UAAW,EAAK,CACpB,CACF,EAYA,MAAO,CACL,qBACA,uBACA,sBACA,eACA,SACA,UACA,eACA,yBAlBuC,CACvC,IAAM,EAAS,EAAQ,UAAU,MAE5B,IAEL,EAAc,EACd,EAAQ,QAAQ,EAAQ,QAAS,CAAmB,EACpD,EAAQ,QAAQ,EAAQ,SAAU,CAAY,EAChD,EAWE,eACF,CACF"}
@@ -0,0 +1,76 @@
1
+ import { type Readable, type Signal } from '@vielzeug/ripple';
2
+ import { type DialogCloseReason, type OverlayControl, type OverlayOpenReason } from '../../headless';
3
+ export type UseDialogOptions = {
4
+ /** Called after showModal() but before isOpen = true. Use to clear drag styles etc. */
5
+ beforeOpen?: (dialog: HTMLDialogElement) => void;
6
+ /** Extra properties merged into the `close-request` custom event detail. */
7
+ closeRequestDetail?: (reason: Exclude<DialogCloseReason, 'programmatic'>) => Record<string, unknown>;
8
+ dialogRef: {
9
+ value: HTMLDialogElement | null | undefined;
10
+ };
11
+ getPanelEl: () => HTMLElement | null | undefined;
12
+ host: HTMLElement;
13
+ initialFocus: Readable<string | undefined>;
14
+ isPersistent: () => boolean;
15
+ /** Cleanup registrar from the component setup ctx. Automatically called on disconnect. */
16
+ onCleanup: (fn: () => void) => void;
17
+ /**
18
+ * Scoped event listener registrar from the component setup ctx.
19
+ * Automatically removed on component disconnect.
20
+ */
21
+ onEvent: <K extends keyof HTMLElementEventMap>(target: EventTarget | null | undefined, event: K, listener: (e: HTMLElementEventMap[K]) => void, options?: AddEventListenerOptions) => void;
22
+ /**
23
+ * Called after the native `close` event fires — after background unlock,
24
+ * isOpen reset, and focus restore. Use to emit component events.
25
+ */
26
+ onNativeClose?: (reason: DialogCloseReason) => void;
27
+ /** Called by the overlay on open. Use to emit events. */
28
+ onOpen?: (reason: OverlayOpenReason) => void;
29
+ /** Open prop from the component — drives programmatic open/close via watch. */
30
+ openProp: Readable<boolean | undefined>;
31
+ /**
32
+ * Called by the overlay when closing. Orchestrates the close animation.
33
+ * Default: `dialog.close()`. Override in dialog.ts to add the CSS exit animation.
34
+ */
35
+ performClose?: (dialog: HTMLDialogElement, reason: DialogCloseReason) => void;
36
+ returnFocus: Readable<boolean | undefined>;
37
+ };
38
+ export type UseDialogHandle = {
39
+ closeWithAnimation: () => void;
40
+ /**
41
+ * Dispatch a cancelable `close-request` event on the host. Returns true when
42
+ * the close is allowed (event not prevented), false when it was cancelled.
43
+ */
44
+ dispatchCloseRequest: (reason: Exclude<DialogCloseReason, 'programmatic'>) => boolean;
45
+ handleBackdropClick: (e: MouseEvent) => void;
46
+ handleCancel: (e: Event) => void;
47
+ isOpen: Signal<boolean>;
48
+ /** The overlay control — open/close/toggle/dispose. */
49
+ overlay: OverlayControl;
50
+ /**
51
+ * Dispatch `close-request`; if allowed, call `overlay.close()`.
52
+ */
53
+ requestClose: (reason: Exclude<DialogCloseReason, 'programmatic'>) => void;
54
+ /**
55
+ * Registers the open-prop watcher AND standard click/cancel event listeners on
56
+ * the dialog element (backdrop click-to-close, Escape via the native `cancel`
57
+ * event). Use for components that need standard dialog behavior.
58
+ * Call inside `onMounted()`.
59
+ */
60
+ setupNativeListeners: () => void;
61
+ /**
62
+ * Registers only the open-prop watcher (without adding click/cancel listeners).
63
+ * Use for components like drawer that register their own event handlers.
64
+ * Call inside `onMounted()`.
65
+ */
66
+ watchOpenProp: () => void;
67
+ };
68
+ /**
69
+ * Shared dialog-control composable for `ore-dialog` and `ore-drawer`.
70
+ *
71
+ * Owns: `isOpen`, close-reason tracking, focus management, `overlay`,
72
+ * `requestClose`, background lock/unlock, and the `close` event handler.
73
+ * Components supply only their unique behavior via callbacks and `onNativeClose`.
74
+ */
75
+ export declare function useDialogControl(options: UseDialogOptions): UseDialogHandle;
76
+ //# sourceMappingURL=use-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dialog.d.ts","sourceRoot":"","sources":["../../../src/overlay/shared/use-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAYxB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,uFAAuF;IACvF,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrG,SAAS,EAAE;QAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,0FAA0F;IAC1F,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACpC;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAC3C,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,uBAAuB,KAC9B,IAAI,CAAC;IACV;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpD,yDAAyD;IACzD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,+EAA+E;IAC/E,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B;;;OAGG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,KAAK,OAAO,CAAC;IACtF,mBAAmB,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,uDAAuD;IACvD,OAAO,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC;;;;OAIG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CA+L3E"}
@@ -0,0 +1,92 @@
1
+ import { lifecycleSignal as e } from "../../headless/ore.js";
2
+ import { createOverlayControl as t } from "../../headless/overlay.js";
3
+ import { createFocusManager as n } from "../../headless/focus.js";
4
+ import { awaitExit as r } from "./await-exit.js";
5
+ import { createBackgroundLock as i } from "./background-lock.js";
6
+ import { signal as a, watch as o } from "@vielzeug/ripple";
7
+ //#region src/overlay/shared/use-dialog.ts
8
+ function s(s) {
9
+ let c = e(s.onCleanup), l = a(!1), u = "programmatic", d = i(), f = !1, p = n({
10
+ getInitialFocusSelector: () => s.initialFocus.value,
11
+ getReturnFocus: () => s.returnFocus.value,
12
+ host: s.host
13
+ }), m = () => {
14
+ let e = s.dialogRef.value;
15
+ if (!e?.open || f) return;
16
+ f = !0, e.classList.add("closing");
17
+ let t = () => {
18
+ e.close(), f = !1;
19
+ }, n = s.getPanelEl();
20
+ n ? r(n, t, "transition") : t();
21
+ }, h = (e) => s.host.dispatchEvent(new CustomEvent("close-request", {
22
+ bubbles: !0,
23
+ cancelable: !0,
24
+ composed: !0,
25
+ detail: {
26
+ reason: e,
27
+ ...s.closeRequestDetail?.(e)
28
+ }
29
+ })), g = t({
30
+ getBoundary: () => s.host,
31
+ getPanel: () => {
32
+ let e = s.getPanelEl();
33
+ return e instanceof HTMLElement ? e : null;
34
+ },
35
+ isOpen: () => l.value,
36
+ onOpen: s.onOpen,
37
+ setOpen: (e, t) => {
38
+ let n = s.dialogRef.value;
39
+ if (n) {
40
+ if (e) {
41
+ if (n.open) return;
42
+ n.classList.remove("closing"), p.captureReturnFocus(), s.beforeOpen?.(n), n.showModal(), d.lock(s.host), p.applyInitialFocus(), l.value = !0;
43
+ return;
44
+ }
45
+ if (n.open) {
46
+ u = t, (s.performClose ?? ((e) => e.close()))(n, t);
47
+ return;
48
+ }
49
+ l.value = !1;
50
+ }
51
+ },
52
+ signal: c
53
+ }), _ = (e) => {
54
+ h(e) && g.close(e, !1);
55
+ };
56
+ s.host.addEventListener("command", (e) => {
57
+ let t = e.command;
58
+ t === "show-modal" ? g.open("trigger") : (t === "close" || t === "request-close") && _("trigger");
59
+ }, { signal: c });
60
+ let v = (e) => {
61
+ e.preventDefault(), !s.isPersistent() && _("escape");
62
+ }, y = (e) => {
63
+ s.isPersistent() || e.target === s.dialogRef.value && _("outsideClick");
64
+ }, b = () => {
65
+ d.unlock(), s.host.removeAttribute("open"), l.value = !1, p.restoreFocus();
66
+ let e = u;
67
+ u = "programmatic", s.onNativeClose?.(e);
68
+ }, x = () => {
69
+ let e = s.dialogRef.value;
70
+ e && s.onEvent(e, "close", b), o(s.openProp, (e) => {
71
+ e ? g.open("programmatic") : g.close("programmatic", !1);
72
+ }, { immediate: !0 });
73
+ };
74
+ return {
75
+ closeWithAnimation: m,
76
+ dispatchCloseRequest: h,
77
+ handleBackdropClick: y,
78
+ handleCancel: v,
79
+ isOpen: l,
80
+ overlay: g,
81
+ requestClose: _,
82
+ setupNativeListeners: () => {
83
+ let e = s.dialogRef.value;
84
+ e && (x(), s.onEvent(e, "click", y), s.onEvent(e, "cancel", v));
85
+ },
86
+ watchOpenProp: x
87
+ };
88
+ }
89
+ //#endregion
90
+ export { s as useDialogControl };
91
+
92
+ //# sourceMappingURL=use-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dialog.js","names":[],"sources":["../../../src/overlay/shared/use-dialog.ts"],"sourcesContent":["import { type Readable, type Signal, signal, watch } from '@vielzeug/ripple';\n\nimport {\n lifecycleSignal,\n createOverlayControl,\n type DialogCloseReason,\n type OverlayControl,\n type OverlayOpenReason,\n} from '../../headless';\nimport { createFocusManager } from '../../headless/focus';\nimport { awaitExit } from './await-exit';\nimport { createBackgroundLock } from './background-lock';\n\n// Invoker Commands API — not yet in lib.dom.d.ts\ninterface CommandEvent extends Event {\n command: string;\n}\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\nexport type UseDialogOptions = {\n /** Called after showModal() but before isOpen = true. Use to clear drag styles etc. */\n beforeOpen?: (dialog: HTMLDialogElement) => void;\n /** Extra properties merged into the `close-request` custom event detail. */\n closeRequestDetail?: (reason: Exclude<DialogCloseReason, 'programmatic'>) => Record<string, unknown>;\n dialogRef: { value: HTMLDialogElement | null | undefined };\n getPanelEl: () => HTMLElement | null | undefined;\n host: HTMLElement;\n initialFocus: Readable<string | undefined>;\n isPersistent: () => boolean;\n /** Cleanup registrar from the component setup ctx. Automatically called on disconnect. */\n onCleanup: (fn: () => void) => void;\n /**\n * Scoped event listener registrar from the component setup ctx.\n * Automatically removed on component disconnect.\n */\n onEvent: <K extends keyof HTMLElementEventMap>(\n target: EventTarget | null | undefined,\n event: K,\n listener: (e: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions,\n ) => void;\n /**\n * Called after the native `close` event fires — after background unlock,\n * isOpen reset, and focus restore. Use to emit component events.\n */\n onNativeClose?: (reason: DialogCloseReason) => void;\n /** Called by the overlay on open. Use to emit events. */\n onOpen?: (reason: OverlayOpenReason) => void;\n /** Open prop from the component — drives programmatic open/close via watch. */\n openProp: Readable<boolean | undefined>;\n /**\n * Called by the overlay when closing. Orchestrates the close animation.\n * Default: `dialog.close()`. Override in dialog.ts to add the CSS exit animation.\n */\n performClose?: (dialog: HTMLDialogElement, reason: DialogCloseReason) => void;\n returnFocus: Readable<boolean | undefined>;\n};\n\nexport type UseDialogHandle = {\n closeWithAnimation: () => void;\n /**\n * Dispatch a cancelable `close-request` event on the host. Returns true when\n * the close is allowed (event not prevented), false when it was cancelled.\n */\n dispatchCloseRequest: (reason: Exclude<DialogCloseReason, 'programmatic'>) => boolean;\n handleBackdropClick: (e: MouseEvent) => void;\n handleCancel: (e: Event) => void;\n isOpen: Signal<boolean>;\n /** The overlay control — open/close/toggle/dispose. */\n overlay: OverlayControl;\n /**\n * Dispatch `close-request`; if allowed, call `overlay.close()`.\n */\n requestClose: (reason: Exclude<DialogCloseReason, 'programmatic'>) => void;\n /**\n * Registers the open-prop watcher AND standard click/cancel event listeners on\n * the dialog element (backdrop click-to-close, Escape via the native `cancel`\n * event). Use for components that need standard dialog behavior.\n * Call inside `onMounted()`.\n */\n setupNativeListeners: () => void;\n /**\n * Registers only the open-prop watcher (without adding click/cancel listeners).\n * Use for components like drawer that register their own event handlers.\n * Call inside `onMounted()`.\n */\n watchOpenProp: () => void;\n};\n\n// ── Factory ───────────────────────────────────────────────────────────────────\n\n/**\n * Shared dialog-control composable for `ore-dialog` and `ore-drawer`.\n *\n * Owns: `isOpen`, close-reason tracking, focus management, `overlay`,\n * `requestClose`, background lock/unlock, and the `close` event handler.\n * Components supply only their unique behavior via callbacks and `onNativeClose`.\n */\nexport function useDialogControl(options: UseDialogOptions): UseDialogHandle {\n const abortSignal = lifecycleSignal(options.onCleanup);\n const isOpen = signal(false);\n // Internal close-reason: set atomically before dialog.close() fires.\n let pendingCloseReason: DialogCloseReason = 'programmatic';\n const bgLock = createBackgroundLock();\n let isClosing = false;\n\n // ── Focus management ──────────────────────────────────────────────────────\n const focus = createFocusManager({\n getInitialFocusSelector: () => options.initialFocus.value,\n getReturnFocus: () => options.returnFocus.value,\n host: options.host,\n });\n // ─────────────────────────────────────────────────────────────────────────\n\n const closeWithAnimation = (): void => {\n const dialog = options.dialogRef.value;\n\n if (!dialog?.open || isClosing) return;\n\n isClosing = true;\n dialog.classList.add('closing');\n\n const finish = () => {\n dialog.close();\n // Do NOT remove 'closing' here — removing it while the native ::backdrop is\n // still held in the top layer by the 'overlay allow-discrete' transition\n // would revert its opacity to 1 and cause a visible flash. The class is\n // cleaned up at the start of the next open cycle (see setOpen below).\n isClosing = false;\n };\n\n const panel = options.getPanelEl();\n\n if (panel) {\n awaitExit(panel, finish, 'transition');\n } else {\n finish();\n }\n };\n\n const dispatchCloseRequest = (reason: Exclude<DialogCloseReason, 'programmatic'>): boolean => {\n return options.host.dispatchEvent(\n new CustomEvent('close-request', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: { reason, ...options.closeRequestDetail?.(reason) },\n }),\n );\n };\n\n const overlay = createOverlayControl({\n getBoundary: () => options.host,\n getPanel: () => {\n const panel = options.getPanelEl();\n\n return panel instanceof HTMLElement ? panel : null;\n },\n isOpen: () => isOpen.value,\n onOpen: options.onOpen,\n setOpen: (next, reason) => {\n const dialog = options.dialogRef.value;\n\n if (!dialog) return;\n\n if (next) {\n if (dialog.open) return;\n\n // Clean up any leftover 'closing' class from the previous close animation\n // before opening so the entry @starting-style and transition work correctly.\n dialog.classList.remove('closing');\n focus.captureReturnFocus();\n options.beforeOpen?.(dialog);\n dialog.showModal();\n bgLock.lock(options.host);\n focus.applyInitialFocus();\n isOpen.value = true;\n\n return;\n }\n\n if (dialog.open) {\n // Capture reason before calling performClose so handleNativeClose can read it.\n pendingCloseReason = reason as DialogCloseReason;\n\n const performClose = options.performClose ?? ((d) => d.close());\n\n performClose(dialog, reason as DialogCloseReason);\n\n return;\n }\n\n isOpen.value = false;\n },\n signal: abortSignal,\n });\n\n const requestClose = (reason: Exclude<DialogCloseReason, 'programmatic'>): void => {\n const allowed = dispatchCloseRequest(reason);\n\n if (!allowed) return;\n\n overlay.close(reason, false);\n };\n\n // Invoker Commands API — allows declarative open/close from outside the component:\n // <button commandfor=\"ore-dialog-id\" command=\"show-modal\">Open</button>\n // <button commandfor=\"ore-dialog-id\" command=\"close\">Close</button>\n options.host.addEventListener(\n 'command',\n (e: Event) => {\n const cmd = (e as CommandEvent).command;\n\n if (cmd === 'show-modal') overlay.open('trigger');\n else if (cmd === 'close' || cmd === 'request-close') requestClose('trigger');\n },\n { signal: abortSignal },\n );\n\n // The native `<dialog>` element auto-closes on Escape via its own close-watcher, which\n // dispatches a cancelable `cancel` event before `close`. Suppressing/redirecting that is the\n // spec-correct hook — relying on `keydown`'s `preventDefault()` to stop the close-watcher is\n // implementation-specific, not guaranteed across browsers.\n const handleCancel = (e: Event): void => {\n e.preventDefault();\n\n if (options.isPersistent()) return;\n\n requestClose('escape');\n };\n\n const handleBackdropClick = (e: MouseEvent): void => {\n if (options.isPersistent()) return;\n\n if (e.target === options.dialogRef.value) requestClose('outsideClick');\n };\n\n // ── Internal native close handler ─────────────────────────────────────────\n const handleNativeClose = (): void => {\n bgLock.unlock();\n options.host.removeAttribute('open');\n isOpen.value = false;\n focus.restoreFocus();\n\n const reason = pendingCloseReason;\n\n pendingCloseReason = 'programmatic';\n options.onNativeClose?.(reason);\n };\n\n const watchOpenProp = (): void => {\n const dialog = options.dialogRef.value;\n\n if (dialog) options.onEvent(dialog, 'close', handleNativeClose);\n\n watch(\n options.openProp,\n (open) => {\n if (open) {\n overlay.open('programmatic');\n } else {\n overlay.close('programmatic', false);\n }\n },\n { immediate: true },\n );\n };\n\n const setupNativeListeners = (): void => {\n const dialog = options.dialogRef.value;\n\n if (!dialog) return;\n\n watchOpenProp();\n options.onEvent(dialog, 'click', handleBackdropClick);\n options.onEvent(dialog, 'cancel', handleCancel);\n };\n\n return {\n closeWithAnimation,\n dispatchCloseRequest,\n handleBackdropClick,\n handleCancel,\n isOpen,\n overlay,\n requestClose,\n setupNativeListeners,\n watchOpenProp,\n };\n}\n"],"mappings":";;;;;;;AAmGA,SAAgB,EAAiB,GAA4C;CAC3E,IAAM,IAAc,EAAgB,EAAQ,SAAS,GAC/C,IAAS,EAAO,EAAK,GAEvB,IAAwC,gBACtC,IAAS,EAAqB,GAChC,IAAY,IAGV,IAAQ,EAAmB;EAC/B,+BAA+B,EAAQ,aAAa;EACpD,sBAAsB,EAAQ,YAAY;EAC1C,MAAM,EAAQ;CAChB,CAAC,GAGK,UAAiC;EACrC,IAAM,IAAS,EAAQ,UAAU;EAEjC,IAAI,CAAC,GAAQ,QAAQ,GAAW;EAGhC,AADA,IAAY,IACZ,EAAO,UAAU,IAAI,SAAS;EAE9B,IAAM,UAAe;GAMnB,AALA,EAAO,MAAM,GAKb,IAAY;EACd,GAEM,IAAQ,EAAQ,WAAW;EAEjC,AAAI,IACF,EAAU,GAAO,GAAQ,YAAY,IAErC,EAAO;CAEX,GAEM,KAAwB,MACrB,EAAQ,KAAK,cAClB,IAAI,YAAY,iBAAiB;EAC/B,SAAS;EACT,YAAY;EACZ,UAAU;EACV,QAAQ;GAAE;GAAQ,GAAG,EAAQ,qBAAqB,CAAM;EAAE;CAC5D,CAAC,CACH,GAGI,IAAU,EAAqB;EACnC,mBAAmB,EAAQ;EAC3B,gBAAgB;GACd,IAAM,IAAQ,EAAQ,WAAW;GAEjC,OAAO,aAAiB,cAAc,IAAQ;EAChD;EACA,cAAc,EAAO;EACrB,QAAQ,EAAQ;EAChB,UAAU,GAAM,MAAW;GACzB,IAAM,IAAS,EAAQ,UAAU;GAE5B,OAEL;QAAI,GAAM;KACR,IAAI,EAAO,MAAM;KAUjB,AANA,EAAO,UAAU,OAAO,SAAS,GACjC,EAAM,mBAAmB,GACzB,EAAQ,aAAa,CAAM,GAC3B,EAAO,UAAU,GACjB,EAAO,KAAK,EAAQ,IAAI,GACxB,EAAM,kBAAkB,GACxB,EAAO,QAAQ;KAEf;IACF;IAEA,IAAI,EAAO,MAAM;KAMf,AAJA,IAAqB,IAEA,EAAQ,kBAAkB,MAAM,EAAE,MAAM,GAAA,CAEhD,GAAQ,CAA2B;KAEhD;IACF;IAEA,EAAO,QAAQ;GAbf;EAcF;EACA,QAAQ;CACV,CAAC,GAEK,KAAgB,MAA6D;EACjE,EAAqB,CAEhC,KAEL,EAAQ,MAAM,GAAQ,EAAK;CAC7B;CAKA,EAAQ,KAAK,iBACX,YACC,MAAa;EACZ,IAAM,IAAO,EAAmB;EAEhC,AAAI,MAAQ,eAAc,EAAQ,KAAK,SAAS,KACvC,MAAQ,WAAW,MAAQ,oBAAiB,EAAa,SAAS;CAC7E,GACA,EAAE,QAAQ,EAAY,CACxB;CAMA,IAAM,KAAgB,MAAmB;EACvC,EAAE,eAAe,GAEb,GAAQ,aAAa,KAEzB,EAAa,QAAQ;CACvB,GAEM,KAAuB,MAAwB;EAC/C,EAAQ,aAAa,KAErB,EAAE,WAAW,EAAQ,UAAU,SAAO,EAAa,cAAc;CACvE,GAGM,UAAgC;EAIpC,AAHA,EAAO,OAAO,GACd,EAAQ,KAAK,gBAAgB,MAAM,GACnC,EAAO,QAAQ,IACf,EAAM,aAAa;EAEnB,IAAM,IAAS;EAGf,AADA,IAAqB,gBACrB,EAAQ,gBAAgB,CAAM;CAChC,GAEM,UAA4B;EAChC,IAAM,IAAS,EAAQ,UAAU;EAIjC,AAFI,KAAQ,EAAQ,QAAQ,GAAQ,SAAS,CAAiB,GAE9D,EACE,EAAQ,WACP,MAAS;GACR,AAAI,IACF,EAAQ,KAAK,cAAc,IAE3B,EAAQ,MAAM,gBAAgB,EAAK;EAEvC,GACA,EAAE,WAAW,GAAK,CACpB;CACF;CAYA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA,4BAlBuC;GACvC,IAAM,IAAS,EAAQ,UAAU;GAE5B,MAEL,EAAc,GACd,EAAQ,QAAQ,GAAQ,SAAS,CAAmB,GACpD,EAAQ,QAAQ,GAAQ,UAAU,CAAY;EAChD;EAWE;CACF;AACF"}
@@ -0,0 +1,2 @@
1
+ const e=require("../../headless/ore.cjs"),t=require("../../headless/overlay.cjs");let n=require("@vielzeug/ripple"),r=require("@vielzeug/orbit");var i=i=>{let{bindTriggerAria:a,disabled:o,getPanel:s,onClose:c,onOpen:l,onPlacementChange:u,openProp:d,placement:f,slot:p,slotElements:m,triggers:h}=i,g=()=>typeof p==`function`?p():p,_=()=>{let e=i.offset;return e==null?8:(typeof e==`object`?e.value:e)??8},v=e.lifecycleSignal(i.onCleanup),y=(0,n.signal)(!1),b=()=>d.value!==void 0,x=null,S=null,C=t.createOverlayControl({getBoundary:()=>document.body,getPanel:s,getTrigger:()=>x,isDisabled:()=>o.value,isOpen:()=>y.value,onClose:c,onOpen:l,positioner:{floating:s,reference:()=>x,update:w},restoreFocus:!1,setOpen:e=>{b()||(e?T():E())},signal:v});function w(){let e=s();if(!e||!x)return;let t=(0,r.computePosition)(x,e,{middleware:[(0,r.offset)(_()),(0,r.flip)(),(0,r.shift)({padding:8})],placement:f.value});e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.dataset.placement=t.placement,u?.(t.placement)}function T(){y.value=!0;let e=s();if(e&&(e.dataset.open=``,`showPopover`in e))try{e.matches(`:popover-open`)||e.showPopover()}catch{}w()}function E(){y.value=!1;let e=s();if(e&&(delete e.dataset.open,`hidePopover`in e))try{e.matches(`:popover-open`)&&e.hidePopover()}catch{}}function D(e=`programmatic`){b()||C.open(e)}function O(e=`trigger`){b()||C.close(e,!1)}function k(){b()||C.toggle()}function A(e){e.key===`Escape`&&O(`escape`)}function j(e){if(!y.value)return;let t=e.composedPath(),n=s(),r=i.getHost?.();x&&t.includes(x)||n&&t.includes(n)||r&&t.includes(r)||O(`outsideClick`)}function M(e){let t=e.relatedTarget,n=s();t&&n?.contains(t)||t&&x?.contains(t)||O(`trigger`)}let N=()=>{S?.(),S=null;let e=g()?.assignedElements({flatten:!0})[0];if(!e){x=null;return}x=e;let t=a(e),n=[],r=(e,t,r,i)=>{e.addEventListener(t,r,i),n.push(()=>e.removeEventListener(t,r,i))},i=h.value;if(i.includes(`click`)&&(r(e,`click`,k),r(document,`pointerdown`,j,{capture:!0})),i.includes(`hover`)){r(e,`pointerenter`,()=>D(`hover`)),r(e,`pointerleave`,()=>O(`trigger`));let t=s();t&&(r(t,`pointerenter`,()=>D(`hover`)),r(t,`pointerleave`,()=>O(`trigger`)))}if(i.includes(`focus`)){r(e,`focusin`,()=>D(`focus`)),r(e,`focusout`,M);let t=s();t&&r(t,`focusout`,M)}r(document,`keydown`,A),S=()=>{t();for(let e of n)e();x=null}};return{close:O,mount:()=>((0,n.watch)(m,N,{immediate:!0}),(0,n.watch)(d,e=>{e!=null&&(e?(T(),l?.(`programmatic`)):y.value&&(E(),c?.(`programmatic`)))},{immediate:!0}),(0,n.watch)(o,e=>{e&&O(`programmatic`)}),()=>{S?.(),S=null;let e=s();if(e&&(delete e.dataset.open,`hidePopover`in e))try{e.matches(`:popover-open`)&&e.hidePopover()}catch{}C.dispose()}),open:D,toggle:k,updatePosition:w,visible:y}};exports.useFloatingTrigger=i;
2
+ //# sourceMappingURL=use-floating-trigger.cjs.map