@vielzeug/refine 1.1.3 → 1.3.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 (799) hide show
  1. package/dist/accordion-item.cjs +4 -4
  2. package/dist/accordion-item.cjs.map +1 -1
  3. package/dist/accordion-item.js +41 -41
  4. package/dist/accordion-item.js.map +1 -1
  5. package/dist/accordion.cjs +1 -1
  6. package/dist/accordion.cjs.map +1 -1
  7. package/dist/accordion.js +21 -21
  8. package/dist/accordion.js.map +1 -1
  9. package/dist/alert.cjs +5 -5
  10. package/dist/alert.cjs.map +1 -1
  11. package/dist/alert.js +21 -21
  12. package/dist/alert.js.map +1 -1
  13. package/dist/async.cjs +10 -10
  14. package/dist/async.cjs.map +1 -1
  15. package/dist/async.js +27 -27
  16. package/dist/async.js.map +1 -1
  17. package/dist/avatar.cjs +2 -2
  18. package/dist/avatar.cjs.map +1 -1
  19. package/dist/avatar.js +30 -30
  20. package/dist/avatar.js.map +1 -1
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.cjs.map +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/box.cjs +1 -1
  25. package/dist/box.cjs.map +1 -1
  26. package/dist/box.js +1 -1
  27. package/dist/breadcrumb.cjs +2 -2
  28. package/dist/breadcrumb.cjs.map +1 -1
  29. package/dist/breadcrumb.js +20 -20
  30. package/dist/breadcrumb.js.map +1 -1
  31. package/dist/button-group.cjs +1 -1
  32. package/dist/button-group.cjs.map +1 -1
  33. package/dist/button-group.js +7 -7
  34. package/dist/button-group.js.map +1 -1
  35. package/dist/button.cjs +6 -6
  36. package/dist/button.cjs.map +1 -1
  37. package/dist/button.js +47 -45
  38. package/dist/button.js.map +1 -1
  39. package/dist/calendar.cjs +28 -28
  40. package/dist/calendar.cjs.map +1 -1
  41. package/dist/calendar.js +93 -91
  42. package/dist/calendar.js.map +1 -1
  43. package/dist/card.cjs +6 -6
  44. package/dist/card.cjs.map +1 -1
  45. package/dist/card.js +35 -34
  46. package/dist/card.js.map +1 -1
  47. package/dist/carousel.cjs +19 -19
  48. package/dist/carousel.cjs.map +1 -1
  49. package/dist/carousel.js +111 -111
  50. package/dist/carousel.js.map +1 -1
  51. package/dist/chat-message.cjs +47 -0
  52. package/dist/chat-message.cjs.map +1 -0
  53. package/dist/chat-message.js +121 -0
  54. package/dist/chat-message.js.map +1 -0
  55. package/dist/checkbox-group.cjs +9 -9
  56. package/dist/checkbox-group.cjs.map +1 -1
  57. package/dist/checkbox-group.js +54 -52
  58. package/dist/checkbox-group.js.map +1 -1
  59. package/dist/checkbox.cjs +4 -4
  60. package/dist/checkbox.cjs.map +1 -1
  61. package/dist/checkbox.js +39 -37
  62. package/dist/checkbox.js.map +1 -1
  63. package/dist/chip.cjs +14 -14
  64. package/dist/chip.cjs.map +1 -1
  65. package/dist/chip.js +43 -43
  66. package/dist/chip.js.map +1 -1
  67. package/dist/code-window.cjs +1 -1
  68. package/dist/code-window.cjs.map +1 -1
  69. package/dist/code-window.js +1 -1
  70. package/dist/combobox.cjs +25 -25
  71. package/dist/combobox.cjs.map +1 -1
  72. package/dist/combobox.js +181 -179
  73. package/dist/combobox.js.map +1 -1
  74. package/dist/command-palette.cjs +62 -0
  75. package/dist/command-palette.cjs.map +1 -0
  76. package/dist/command-palette.js +179 -0
  77. package/dist/command-palette.js.map +1 -0
  78. package/dist/content/avatar/{avatar-group.css?inline.cjs → avatar-group.css.cjs} +1 -1
  79. package/dist/content/avatar/avatar-group.css.cjs.map +1 -0
  80. package/dist/content/avatar/{avatar-group.css?inline.js → avatar-group.css.js} +1 -1
  81. package/dist/content/avatar/avatar-group.css.js.map +1 -0
  82. package/dist/content/avatar/{avatar.css?inline.cjs → avatar.css.cjs} +1 -1
  83. package/dist/content/avatar/avatar.css.cjs.map +1 -0
  84. package/dist/content/avatar/{avatar.css?inline.js → avatar.css.js} +1 -1
  85. package/dist/content/avatar/avatar.css.js.map +1 -0
  86. package/dist/content/breadcrumb/{breadcrumb-item.css?inline.cjs → breadcrumb-item.css.cjs} +1 -1
  87. package/dist/content/breadcrumb/breadcrumb-item.css.cjs.map +1 -0
  88. package/dist/content/breadcrumb/{breadcrumb-item.css?inline.js → breadcrumb-item.css.js} +1 -1
  89. package/dist/content/breadcrumb/breadcrumb-item.css.js.map +1 -0
  90. package/dist/content/breadcrumb/{breadcrumb.css?inline.cjs → breadcrumb.css.cjs} +1 -1
  91. package/dist/content/breadcrumb/breadcrumb.css.cjs.map +1 -0
  92. package/dist/content/breadcrumb/{breadcrumb.css?inline.js → breadcrumb.css.js} +1 -1
  93. package/dist/content/breadcrumb/breadcrumb.css.js.map +1 -0
  94. package/dist/content/card/card.css.cjs +2 -0
  95. package/dist/content/card/card.css.cjs.map +1 -0
  96. package/dist/content/card/card.css.js +6 -0
  97. package/dist/content/card/card.css.js.map +1 -0
  98. package/dist/content/carousel/carousel-slide.cjs +1 -1
  99. package/dist/content/carousel/carousel-slide.cjs.map +1 -1
  100. package/dist/content/carousel/{carousel-slide.css?inline.cjs → carousel-slide.css.cjs} +1 -1
  101. package/dist/content/carousel/carousel-slide.css.cjs.map +1 -0
  102. package/dist/content/carousel/{carousel-slide.css?inline.js → carousel-slide.css.js} +1 -1
  103. package/dist/content/carousel/carousel-slide.css.js.map +1 -0
  104. package/dist/content/carousel/carousel-slide.js +7 -7
  105. package/dist/content/carousel/carousel-slide.js.map +1 -1
  106. package/dist/content/carousel/{carousel.css?inline.cjs → carousel.css.cjs} +1 -1
  107. package/dist/content/carousel/carousel.css.cjs.map +1 -0
  108. package/dist/content/carousel/{carousel.css?inline.js → carousel.css.js} +1 -1
  109. package/dist/content/carousel/carousel.css.js.map +1 -0
  110. package/dist/content/chat-message/chat-message.css.cjs +2 -0
  111. package/dist/content/chat-message/chat-message.css.cjs.map +1 -0
  112. package/dist/content/chat-message/chat-message.css.js +6 -0
  113. package/dist/content/chat-message/chat-message.css.js.map +1 -0
  114. package/dist/content/chat-message/chat-message.d.ts +87 -0
  115. package/dist/content/chat-message/chat-message.d.ts.map +1 -0
  116. package/dist/content/code-window/{code-window.css?inline.cjs → code-window.css.cjs} +1 -1
  117. package/dist/content/code-window/code-window.css.cjs.map +1 -0
  118. package/dist/content/code-window/{code-window.css?inline.js → code-window.css.js} +1 -1
  119. package/dist/content/code-window/code-window.css.js.map +1 -0
  120. package/dist/content/copy-command/{copy-command.css?inline.cjs → copy-command.css.cjs} +1 -1
  121. package/dist/content/copy-command/copy-command.css.cjs.map +1 -0
  122. package/dist/content/copy-command/{copy-command.css?inline.js → copy-command.css.js} +1 -1
  123. package/dist/content/copy-command/copy-command.css.js.map +1 -0
  124. package/dist/content/icon/icon.css.cjs +2 -0
  125. package/dist/content/icon/icon.css.cjs.map +1 -0
  126. package/dist/content/icon/icon.css.js +6 -0
  127. package/dist/content/icon/icon.css.js.map +1 -0
  128. package/dist/content/index.d.ts +2 -0
  129. package/dist/content/index.d.ts.map +1 -1
  130. package/dist/content/pagination/{pagination.css?inline.cjs → pagination.css.cjs} +1 -1
  131. package/dist/content/pagination/pagination.css.cjs.map +1 -0
  132. package/dist/content/pagination/{pagination.css?inline.js → pagination.css.js} +1 -1
  133. package/dist/content/pagination/pagination.css.js.map +1 -0
  134. package/dist/content/separator/{separator.css?inline.cjs → separator.css.cjs} +1 -1
  135. package/dist/content/separator/separator.css.cjs.map +1 -0
  136. package/dist/content/separator/{separator.css?inline.js → separator.css.js} +1 -1
  137. package/dist/content/separator/separator.css.js.map +1 -0
  138. package/dist/content/table/{table.css?inline.cjs → table.css.cjs} +1 -1
  139. package/dist/content/table/table.css.cjs.map +1 -0
  140. package/dist/content/table/{table.css?inline.js → table.css.js} +1 -1
  141. package/dist/content/table/table.css.js.map +1 -0
  142. package/dist/content/text/{text.css?inline.cjs → text.css.cjs} +1 -1
  143. package/dist/content/text/text.css.cjs.map +1 -0
  144. package/dist/content/text/{text.css?inline.js → text.css.js} +1 -1
  145. package/dist/content/text/text.css.js.map +1 -0
  146. package/dist/copy-command.cjs +5 -5
  147. package/dist/copy-command.cjs.map +1 -1
  148. package/dist/copy-command.js +25 -25
  149. package/dist/copy-command.js.map +1 -1
  150. package/dist/custom-elements.json +4463 -3727
  151. package/dist/datagrid.cjs +109 -109
  152. package/dist/datagrid.cjs.map +1 -1
  153. package/dist/datagrid.js +194 -194
  154. package/dist/datagrid.js.map +1 -1
  155. package/dist/date-picker.cjs +40 -40
  156. package/dist/date-picker.cjs.map +1 -1
  157. package/dist/date-picker.js +116 -114
  158. package/dist/date-picker.js.map +1 -1
  159. package/dist/dialog.cjs +5 -5
  160. package/dist/dialog.cjs.map +1 -1
  161. package/dist/dialog.js +28 -28
  162. package/dist/dialog.js.map +1 -1
  163. package/dist/disclosure/accordion/{accordion.css?inline.cjs → accordion.css.cjs} +1 -1
  164. package/dist/disclosure/accordion/accordion.css.cjs.map +1 -0
  165. package/dist/disclosure/accordion/{accordion.css?inline.js → accordion.css.js} +1 -1
  166. package/dist/disclosure/accordion/accordion.css.js.map +1 -0
  167. package/dist/disclosure/accordion-item/{accordion-item.css?inline.cjs → accordion-item.css.cjs} +1 -1
  168. package/dist/disclosure/accordion-item/accordion-item.css.cjs.map +1 -0
  169. package/dist/disclosure/accordion-item/{accordion-item.css?inline.js → accordion-item.css.js} +1 -1
  170. package/dist/disclosure/accordion-item/accordion-item.css.js.map +1 -0
  171. package/dist/disclosure/tab-item/{tab-item.css?inline.cjs → tab-item.css.cjs} +1 -1
  172. package/dist/disclosure/tab-item/tab-item.css.cjs.map +1 -0
  173. package/dist/disclosure/tab-item/{tab-item.css?inline.js → tab-item.css.js} +1 -1
  174. package/dist/disclosure/tab-item/tab-item.css.js.map +1 -0
  175. package/dist/disclosure/tab-panel/{tab-panel.css?inline.cjs → tab-panel.css.cjs} +1 -1
  176. package/dist/disclosure/tab-panel/tab-panel.css.cjs.map +1 -0
  177. package/dist/disclosure/tab-panel/{tab-panel.css?inline.js → tab-panel.css.js} +1 -1
  178. package/dist/disclosure/tab-panel/tab-panel.css.js.map +1 -0
  179. package/dist/disclosure/tabs/{tabs.css?inline.cjs → tabs.css.cjs} +1 -1
  180. package/dist/disclosure/tabs/tabs.css.cjs.map +1 -0
  181. package/dist/disclosure/tabs/{tabs.css?inline.js → tabs.css.js} +1 -1
  182. package/dist/disclosure/tabs/tabs.css.js.map +1 -0
  183. package/dist/drawer.cjs +9 -9
  184. package/dist/drawer.cjs.map +1 -1
  185. package/dist/drawer.js +80 -80
  186. package/dist/drawer.js.map +1 -1
  187. package/dist/feedback/alert/{alert.css?inline.cjs → alert.css.cjs} +1 -1
  188. package/dist/feedback/alert/alert.css.cjs.map +1 -0
  189. package/dist/feedback/alert/{alert.css?inline.js → alert.css.js} +1 -1
  190. package/dist/feedback/alert/alert.css.js.map +1 -0
  191. package/dist/feedback/async/{async.css?inline.cjs → async.css.cjs} +1 -1
  192. package/dist/feedback/async/async.css.cjs.map +1 -0
  193. package/dist/feedback/async/{async.css?inline.js → async.css.js} +1 -1
  194. package/dist/feedback/async/async.css.js.map +1 -0
  195. package/dist/feedback/badge/{badge.css?inline.cjs → badge.css.cjs} +1 -1
  196. package/dist/feedback/badge/badge.css.cjs.map +1 -0
  197. package/dist/feedback/badge/{badge.css?inline.js → badge.css.js} +1 -1
  198. package/dist/feedback/badge/badge.css.js.map +1 -0
  199. package/dist/feedback/chip/{chip.css?inline.cjs → chip.css.cjs} +1 -1
  200. package/dist/feedback/chip/chip.css.cjs.map +1 -0
  201. package/dist/feedback/chip/{chip.css?inline.js → chip.css.js} +1 -1
  202. package/dist/feedback/chip/chip.css.js.map +1 -0
  203. package/dist/feedback/index.d.ts +2 -0
  204. package/dist/feedback/index.d.ts.map +1 -1
  205. package/dist/feedback/password-strength/{password-strength.css?inline.cjs → password-strength.css.cjs} +1 -1
  206. package/dist/feedback/password-strength/password-strength.css.cjs.map +1 -0
  207. package/dist/feedback/password-strength/{password-strength.css?inline.js → password-strength.css.js} +1 -1
  208. package/dist/feedback/password-strength/password-strength.css.js.map +1 -0
  209. package/dist/feedback/progress/{progress.css?inline.cjs → progress.css.cjs} +1 -1
  210. package/dist/feedback/progress/progress.css.cjs.map +1 -0
  211. package/dist/feedback/progress/{progress.css?inline.js → progress.css.js} +1 -1
  212. package/dist/feedback/progress/progress.css.js.map +1 -0
  213. package/dist/feedback/skeleton/{skeleton.css?inline.cjs → skeleton.css.cjs} +1 -1
  214. package/dist/feedback/skeleton/skeleton.css.cjs.map +1 -0
  215. package/dist/feedback/skeleton/{skeleton.css?inline.js → skeleton.css.js} +1 -1
  216. package/dist/feedback/skeleton/skeleton.css.js.map +1 -0
  217. package/dist/feedback/toast/toast.css.cjs +2 -0
  218. package/dist/feedback/toast/toast.css.cjs.map +1 -0
  219. package/dist/feedback/toast/toast.css.js +6 -0
  220. package/dist/feedback/toast/toast.css.js.map +1 -0
  221. package/dist/feedback/toast/toast.d.ts.map +1 -1
  222. package/dist/feedback/typing-indicator/typing-indicator.css.cjs +2 -0
  223. package/dist/feedback/typing-indicator/typing-indicator.css.cjs.map +1 -0
  224. package/dist/feedback/typing-indicator/typing-indicator.css.js +6 -0
  225. package/dist/feedback/typing-indicator/typing-indicator.css.js.map +1 -0
  226. package/dist/feedback/typing-indicator/typing-indicator.d.ts +42 -0
  227. package/dist/feedback/typing-indicator/typing-indicator.d.ts.map +1 -0
  228. package/dist/file-input.cjs +56 -34
  229. package/dist/file-input.cjs.map +1 -1
  230. package/dist/file-input.js +143 -104
  231. package/dist/file-input.js.map +1 -1
  232. package/dist/form.cjs +3 -3
  233. package/dist/form.cjs.map +1 -1
  234. package/dist/form.js +28 -25
  235. package/dist/form.js.map +1 -1
  236. package/dist/grid-item.cjs +1 -1
  237. package/dist/grid-item.cjs.map +1 -1
  238. package/dist/grid-item.js +19 -19
  239. package/dist/grid-item.js.map +1 -1
  240. package/dist/grid.cjs +1 -1
  241. package/dist/grid.cjs.map +1 -1
  242. package/dist/grid.js +48 -48
  243. package/dist/grid.js.map +1 -1
  244. package/dist/icon.cjs +1 -1
  245. package/dist/icon.cjs.map +1 -1
  246. package/dist/icon.js +26 -26
  247. package/dist/icon.js.map +1 -1
  248. package/dist/index.cjs +1 -1
  249. package/dist/index.js +52 -49
  250. package/dist/input.cjs +25 -25
  251. package/dist/input.cjs.map +1 -1
  252. package/dist/input.js +75 -73
  253. package/dist/input.js.map +1 -1
  254. package/dist/inputs/button/button.css.cjs +2 -0
  255. package/dist/inputs/button/button.css.cjs.map +1 -0
  256. package/dist/inputs/button/button.css.js +6 -0
  257. package/dist/inputs/button/button.css.js.map +1 -0
  258. package/dist/inputs/button/button.d.ts.map +1 -1
  259. package/dist/inputs/button-group/{button-group.css?inline.cjs → button-group.css.cjs} +1 -1
  260. package/dist/inputs/button-group/button-group.css.cjs.map +1 -0
  261. package/dist/inputs/button-group/{button-group.css?inline.js → button-group.css.js} +1 -1
  262. package/dist/inputs/button-group/button-group.css.js.map +1 -0
  263. package/dist/inputs/calendar/{calendar.css?inline.cjs → calendar.css.cjs} +1 -1
  264. package/dist/inputs/calendar/calendar.css.cjs.map +1 -0
  265. package/dist/inputs/calendar/{calendar.css?inline.js → calendar.css.js} +1 -1
  266. package/dist/inputs/calendar/calendar.css.js.map +1 -0
  267. package/dist/inputs/calendar/calendar.d.ts.map +1 -1
  268. package/dist/inputs/checkbox/{checkbox.css?inline.cjs → checkbox.css.cjs} +2 -2
  269. package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -0
  270. package/dist/inputs/checkbox/{checkbox.css?inline.js → checkbox.css.js} +2 -2
  271. package/dist/inputs/checkbox/checkbox.css.js.map +1 -0
  272. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
  273. package/dist/inputs/checkbox-group/{checkbox-group.css?inline.cjs → checkbox-group.css.cjs} +2 -2
  274. package/dist/inputs/checkbox-group/checkbox-group.css.cjs.map +1 -0
  275. package/dist/inputs/checkbox-group/{checkbox-group.css?inline.js → checkbox-group.css.js} +2 -2
  276. package/dist/inputs/checkbox-group/checkbox-group.css.js.map +1 -0
  277. package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -1
  278. package/dist/inputs/combobox/{combobox.css?inline.cjs → combobox.css.cjs} +1 -1
  279. package/dist/inputs/combobox/combobox.css.cjs.map +1 -0
  280. package/dist/inputs/combobox/{combobox.css?inline.js → combobox.css.js} +1 -1
  281. package/dist/inputs/combobox/combobox.css.js.map +1 -0
  282. package/dist/inputs/combobox/combobox.d.ts.map +1 -1
  283. package/dist/inputs/datagrid/{datagrid.css?inline.cjs → datagrid.css.cjs} +1 -1
  284. package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -0
  285. package/dist/inputs/datagrid/{datagrid.css?inline.js → datagrid.css.js} +1 -1
  286. package/dist/inputs/datagrid/datagrid.css.js.map +1 -0
  287. package/dist/inputs/date-picker/{date-picker.css?inline.cjs → date-picker.css.cjs} +1 -1
  288. package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -0
  289. package/dist/inputs/date-picker/{date-picker.css?inline.js → date-picker.css.js} +1 -1
  290. package/dist/inputs/date-picker/date-picker.css.js.map +1 -0
  291. package/dist/inputs/date-picker/date-picker.d.ts.map +1 -1
  292. package/dist/inputs/file-input/file-input.css.cjs +2 -0
  293. package/dist/inputs/file-input/file-input.css.cjs.map +1 -0
  294. package/dist/inputs/file-input/file-input.css.js +6 -0
  295. package/dist/inputs/file-input/file-input.css.js.map +1 -0
  296. package/dist/inputs/file-input/file-input.d.ts +9 -0
  297. package/dist/inputs/file-input/file-input.d.ts.map +1 -1
  298. package/dist/inputs/form/{form.css?inline.cjs → form.css.cjs} +1 -1
  299. package/dist/inputs/form/form.css.cjs.map +1 -0
  300. package/dist/inputs/form/{form.css?inline.js → form.css.js} +1 -1
  301. package/dist/inputs/form/form.css.js.map +1 -0
  302. package/dist/inputs/input/input.css.cjs +2 -0
  303. package/dist/inputs/input/input.css.cjs.map +1 -0
  304. package/dist/inputs/input/input.css.js +6 -0
  305. package/dist/inputs/input/input.css.js.map +1 -0
  306. package/dist/inputs/input/input.d.ts.map +1 -1
  307. package/dist/inputs/number-input/{number-input.css?inline.cjs → number-input.css.cjs} +1 -1
  308. package/dist/inputs/number-input/number-input.css.cjs.map +1 -0
  309. package/dist/inputs/number-input/{number-input.css?inline.js → number-input.css.js} +1 -1
  310. package/dist/inputs/number-input/number-input.css.js.map +1 -0
  311. package/dist/inputs/otp-input/{otp-input.css?inline.cjs → otp-input.css.cjs} +2 -2
  312. package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -0
  313. package/dist/inputs/otp-input/{otp-input.css?inline.js → otp-input.css.js} +2 -2
  314. package/dist/inputs/otp-input/otp-input.css.js.map +1 -0
  315. package/dist/inputs/otp-input/otp-input.d.ts.map +1 -1
  316. package/dist/inputs/radio/{radio.css?inline.cjs → radio.css.cjs} +2 -2
  317. package/dist/inputs/radio/radio.css.cjs.map +1 -0
  318. package/dist/inputs/radio/{radio.css?inline.js → radio.css.js} +2 -2
  319. package/dist/inputs/radio/radio.css.js.map +1 -0
  320. package/dist/inputs/radio/radio.d.ts.map +1 -1
  321. package/dist/inputs/radio-group/{radio-group.css?inline.cjs → radio-group.css.cjs} +2 -2
  322. package/dist/inputs/radio-group/radio-group.css.cjs.map +1 -0
  323. package/dist/inputs/radio-group/{radio-group.css?inline.js → radio-group.css.js} +2 -2
  324. package/dist/inputs/radio-group/radio-group.css.js.map +1 -0
  325. package/dist/inputs/radio-group/radio-group.d.ts.map +1 -1
  326. package/dist/inputs/rating/{rating.css?inline.cjs → rating.css.cjs} +2 -2
  327. package/dist/inputs/rating/rating.css.cjs.map +1 -0
  328. package/dist/inputs/rating/{rating.css?inline.js → rating.css.js} +2 -2
  329. package/dist/inputs/rating/rating.css.js.map +1 -0
  330. package/dist/inputs/rating/rating.d.ts.map +1 -1
  331. package/dist/inputs/select/{select.css?inline.cjs → select.css.cjs} +1 -1
  332. package/dist/inputs/select/select.css.cjs.map +1 -0
  333. package/dist/inputs/select/{select.css?inline.js → select.css.js} +1 -1
  334. package/dist/inputs/select/select.css.js.map +1 -0
  335. package/dist/inputs/select/select.d.ts.map +1 -1
  336. package/dist/inputs/shared/field-binding.cjs +1 -1
  337. package/dist/inputs/shared/field-binding.cjs.map +1 -1
  338. package/dist/inputs/shared/field-binding.d.ts +1 -2
  339. package/dist/inputs/shared/field-binding.d.ts.map +1 -1
  340. package/dist/inputs/shared/field-binding.js +3 -2
  341. package/dist/inputs/shared/field-binding.js.map +1 -1
  342. package/dist/inputs/shared/form-context.cjs +1 -1
  343. package/dist/inputs/shared/form-context.cjs.map +1 -1
  344. package/dist/inputs/shared/form-context.d.ts +4 -4
  345. package/dist/inputs/shared/form-context.d.ts.map +1 -1
  346. package/dist/inputs/shared/form-context.js +10 -10
  347. package/dist/inputs/shared/form-context.js.map +1 -1
  348. package/dist/inputs/slider/{slider.css?inline.cjs → slider.css.cjs} +2 -2
  349. package/dist/inputs/slider/slider.css.cjs.map +1 -0
  350. package/dist/inputs/slider/{slider.css?inline.js → slider.css.js} +2 -2
  351. package/dist/inputs/slider/slider.css.js.map +1 -0
  352. package/dist/inputs/slider/slider.d.ts.map +1 -1
  353. package/dist/inputs/switch/{switch.css?inline.cjs → switch.css.cjs} +2 -2
  354. package/dist/inputs/switch/switch.css.cjs.map +1 -0
  355. package/dist/inputs/switch/{switch.css?inline.js → switch.css.js} +2 -2
  356. package/dist/inputs/switch/switch.css.js.map +1 -0
  357. package/dist/inputs/switch/switch.d.ts.map +1 -1
  358. package/dist/inputs/textarea/textarea.css.cjs +2 -0
  359. package/dist/inputs/textarea/textarea.css.cjs.map +1 -0
  360. package/dist/inputs/textarea/textarea.css.js +6 -0
  361. package/dist/inputs/textarea/textarea.css.js.map +1 -0
  362. package/dist/inputs/textarea/textarea.d.ts.map +1 -1
  363. package/dist/inputs/time-picker/{time-picker.css?inline.cjs → time-picker.css.cjs} +1 -1
  364. package/dist/inputs/time-picker/time-picker.css.cjs.map +1 -0
  365. package/dist/inputs/time-picker/{time-picker.css?inline.js → time-picker.css.js} +1 -1
  366. package/dist/inputs/time-picker/time-picker.css.js.map +1 -0
  367. package/dist/inputs/time-picker/time-picker.d.ts.map +1 -1
  368. package/dist/keymap/dist/_dev.cjs +2 -0
  369. package/dist/keymap/dist/_dev.cjs.map +1 -0
  370. package/dist/keymap/dist/_dev.js +4 -0
  371. package/dist/keymap/dist/_dev.js.map +1 -0
  372. package/dist/keymap/dist/format.cjs +1 -0
  373. package/dist/keymap/dist/format.js +1 -0
  374. package/dist/keymap/dist/index.cjs +1 -0
  375. package/dist/keymap/dist/index.js +4 -0
  376. package/dist/keymap/dist/keymap.cjs +2 -0
  377. package/dist/keymap/dist/keymap.cjs.map +1 -0
  378. package/dist/keymap/dist/keymap.js +221 -0
  379. package/dist/keymap/dist/keymap.js.map +1 -0
  380. package/dist/keymap/dist/layer.cjs +1 -0
  381. package/dist/keymap/dist/layer.js +1 -0
  382. package/dist/layout/box/{box.css?inline.cjs → box.css.cjs} +1 -1
  383. package/dist/layout/box/box.css.cjs.map +1 -0
  384. package/dist/layout/box/{box.css?inline.js → box.css.js} +1 -1
  385. package/dist/layout/box/box.css.js.map +1 -0
  386. package/dist/layout/grid/{grid.css?inline.cjs → grid.css.cjs} +1 -1
  387. package/dist/layout/grid/grid.css.cjs.map +1 -0
  388. package/dist/layout/grid/{grid.css?inline.js → grid.css.js} +1 -1
  389. package/dist/layout/grid/grid.css.js.map +1 -0
  390. package/dist/layout/grid-item/{grid-item.css?inline.cjs → grid-item.css.cjs} +1 -1
  391. package/dist/layout/grid-item/grid-item.css.cjs.map +1 -0
  392. package/dist/layout/grid-item/{grid-item.css?inline.js → grid-item.css.js} +1 -1
  393. package/dist/layout/grid-item/grid-item.css.js.map +1 -0
  394. package/dist/layout/navbar/navbar.css.cjs +2 -0
  395. package/dist/layout/navbar/navbar.css.cjs.map +1 -0
  396. package/dist/layout/navbar/navbar.css.js +6 -0
  397. package/dist/layout/navbar/navbar.css.js.map +1 -0
  398. package/dist/layout/navbar/navbar.d.ts.map +1 -1
  399. package/dist/layout/sidebar/{sidebar-group.css?inline.cjs → sidebar-group.css.cjs} +1 -1
  400. package/dist/layout/sidebar/sidebar-group.css.cjs.map +1 -0
  401. package/dist/layout/sidebar/{sidebar-group.css?inline.js → sidebar-group.css.js} +1 -1
  402. package/dist/layout/sidebar/sidebar-group.css.js.map +1 -0
  403. package/dist/layout/sidebar/{sidebar-item.css?inline.cjs → sidebar-item.css.cjs} +1 -1
  404. package/dist/layout/sidebar/sidebar-item.css.cjs.map +1 -0
  405. package/dist/layout/sidebar/{sidebar-item.css?inline.js → sidebar-item.css.js} +1 -1
  406. package/dist/layout/sidebar/sidebar-item.css.js.map +1 -0
  407. package/dist/layout/sidebar/sidebar.css.cjs +2 -0
  408. package/dist/layout/sidebar/sidebar.css.cjs.map +1 -0
  409. package/dist/layout/sidebar/sidebar.css.js +6 -0
  410. package/dist/layout/sidebar/sidebar.css.js.map +1 -0
  411. package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
  412. package/dist/menu.cjs +5 -5
  413. package/dist/menu.cjs.map +1 -1
  414. package/dist/menu.js +85 -85
  415. package/dist/menu.js.map +1 -1
  416. package/dist/navbar.cjs +15 -15
  417. package/dist/navbar.cjs.map +1 -1
  418. package/dist/navbar.js +127 -127
  419. package/dist/navbar.js.map +1 -1
  420. package/dist/number-input.cjs +11 -11
  421. package/dist/number-input.cjs.map +1 -1
  422. package/dist/number-input.js +69 -69
  423. package/dist/number-input.js.map +1 -1
  424. package/dist/ore/dist/_dev.cjs.map +1 -1
  425. package/dist/ore/dist/_dev.js.map +1 -1
  426. package/dist/ore/dist/base-element.cjs +1 -1
  427. package/dist/ore/dist/base-element.cjs.map +1 -1
  428. package/dist/ore/dist/base-element.js +37 -35
  429. package/dist/ore/dist/base-element.js.map +1 -1
  430. package/dist/ore/dist/context.cjs +1 -1
  431. package/dist/ore/dist/context.cjs.map +1 -1
  432. package/dist/ore/dist/context.js +6 -33
  433. package/dist/ore/dist/context.js.map +1 -1
  434. package/dist/ore/dist/define.cjs.map +1 -1
  435. package/dist/ore/dist/define.js.map +1 -1
  436. package/dist/ore/dist/directives/raw.cjs +1 -1
  437. package/dist/ore/dist/directives/raw.cjs.map +1 -1
  438. package/dist/ore/dist/directives/raw.js +20 -17
  439. package/dist/ore/dist/directives/raw.js.map +1 -1
  440. package/dist/ore/dist/directives/when.cjs +1 -1
  441. package/dist/ore/dist/directives/when.cjs.map +1 -1
  442. package/dist/ore/dist/directives/when.js +29 -24
  443. package/dist/ore/dist/directives/when.js.map +1 -1
  444. package/dist/ore/dist/errors.cjs +2 -2
  445. package/dist/ore/dist/errors.cjs.map +1 -1
  446. package/dist/ore/dist/errors.js +12 -3
  447. package/dist/ore/dist/errors.js.map +1 -1
  448. package/dist/ore/dist/forms/context.cjs +2 -0
  449. package/dist/ore/dist/forms/context.cjs.map +1 -0
  450. package/dist/ore/dist/forms/context.js +6 -0
  451. package/dist/ore/dist/forms/context.js.map +1 -0
  452. package/dist/ore/dist/forms/field.cjs +2 -0
  453. package/dist/ore/dist/forms/field.cjs.map +1 -0
  454. package/dist/ore/dist/forms/field.js +35 -0
  455. package/dist/ore/dist/forms/field.js.map +1 -0
  456. package/dist/ore/dist/forms.cjs +1 -0
  457. package/dist/ore/dist/forms.js +3 -0
  458. package/dist/ore/dist/props.cjs +1 -1
  459. package/dist/ore/dist/props.cjs.map +1 -1
  460. package/dist/ore/dist/props.js +29 -27
  461. package/dist/ore/dist/props.js.map +1 -1
  462. package/dist/ore/dist/runtime.cjs +1 -1
  463. package/dist/ore/dist/runtime.cjs.map +1 -1
  464. package/dist/ore/dist/runtime.js +13 -23
  465. package/dist/ore/dist/runtime.js.map +1 -1
  466. package/dist/ore/dist/testing/render-hook.cjs +1 -1
  467. package/dist/ore/dist/testing/render-hook.js +0 -1
  468. package/dist/ore/dist/utils/dom.cjs +1 -1
  469. package/dist/ore/dist/utils/dom.cjs.map +1 -1
  470. package/dist/ore/dist/utils/dom.js +2 -6
  471. package/dist/ore/dist/utils/dom.js.map +1 -1
  472. package/dist/otp-input.cjs +9 -9
  473. package/dist/otp-input.cjs.map +1 -1
  474. package/dist/otp-input.js +70 -68
  475. package/dist/otp-input.js.map +1 -1
  476. package/dist/overlay/command-palette/command-palette-items.cjs +2 -0
  477. package/dist/overlay/command-palette/command-palette-items.cjs.map +1 -0
  478. package/dist/overlay/command-palette/command-palette-items.d.ts +22 -0
  479. package/dist/overlay/command-palette/command-palette-items.d.ts.map +1 -0
  480. package/dist/overlay/command-palette/command-palette-items.js +55 -0
  481. package/dist/overlay/command-palette/command-palette-items.js.map +1 -0
  482. package/dist/overlay/command-palette/command-palette.css.cjs +2 -0
  483. package/dist/overlay/command-palette/command-palette.css.cjs.map +1 -0
  484. package/dist/overlay/command-palette/command-palette.css.js +6 -0
  485. package/dist/overlay/command-palette/command-palette.css.js.map +1 -0
  486. package/dist/overlay/command-palette/command-palette.d.ts +72 -0
  487. package/dist/overlay/command-palette/command-palette.d.ts.map +1 -0
  488. package/dist/overlay/command-palette/command-palette.types.d.ts +76 -0
  489. package/dist/overlay/command-palette/command-palette.types.d.ts.map +1 -0
  490. package/dist/overlay/dialog/{dialog.css?inline.cjs → dialog.css.cjs} +1 -1
  491. package/dist/overlay/dialog/dialog.css.cjs.map +1 -0
  492. package/dist/overlay/dialog/{dialog.css?inline.js → dialog.css.js} +1 -1
  493. package/dist/overlay/dialog/dialog.css.js.map +1 -0
  494. package/dist/overlay/drawer/{drawer.css?inline.cjs → drawer.css.cjs} +1 -1
  495. package/dist/overlay/drawer/drawer.css.cjs.map +1 -0
  496. package/dist/overlay/drawer/{drawer.css?inline.js → drawer.css.js} +1 -1
  497. package/dist/overlay/drawer/drawer.css.js.map +1 -0
  498. package/dist/overlay/drawer/drawer.d.ts.map +1 -1
  499. package/dist/overlay/index.d.ts +2 -0
  500. package/dist/overlay/index.d.ts.map +1 -1
  501. package/dist/overlay/menu/{menu-item.css?inline.cjs → menu-item.css.cjs} +1 -1
  502. package/dist/overlay/menu/menu-item.css.cjs.map +1 -0
  503. package/dist/overlay/menu/{menu-item.css?inline.js → menu-item.css.js} +1 -1
  504. package/dist/overlay/menu/menu-item.css.js.map +1 -0
  505. package/dist/overlay/menu/{menu-separator.css?inline.cjs → menu-separator.css.cjs} +1 -1
  506. package/dist/overlay/menu/menu-separator.css.cjs.map +1 -0
  507. package/dist/overlay/menu/{menu-separator.css?inline.js → menu-separator.css.js} +1 -1
  508. package/dist/overlay/menu/menu-separator.css.js.map +1 -0
  509. package/dist/overlay/menu/menu.css.cjs +2 -0
  510. package/dist/overlay/menu/menu.css.cjs.map +1 -0
  511. package/dist/overlay/menu/menu.css.js +6 -0
  512. package/dist/overlay/menu/menu.css.js.map +1 -0
  513. package/dist/overlay/menu/menu.d.ts.map +1 -1
  514. package/dist/overlay/popover/{popover.css?inline.cjs → popover.css.cjs} +1 -1
  515. package/dist/overlay/popover/popover.css.cjs.map +1 -0
  516. package/dist/overlay/popover/{popover.css?inline.js → popover.css.js} +1 -1
  517. package/dist/overlay/popover/popover.css.js.map +1 -0
  518. package/dist/overlay/popover/popover.d.ts.map +1 -1
  519. package/dist/overlay/tooltip/{tooltip.css?inline.cjs → tooltip.css.cjs} +1 -1
  520. package/dist/overlay/tooltip/tooltip.css.cjs.map +1 -0
  521. package/dist/overlay/tooltip/{tooltip.css?inline.js → tooltip.css.js} +1 -1
  522. package/dist/overlay/tooltip/tooltip.css.js.map +1 -0
  523. package/dist/pagination.cjs +12 -12
  524. package/dist/pagination.cjs.map +1 -1
  525. package/dist/pagination.js +39 -38
  526. package/dist/pagination.js.map +1 -1
  527. package/dist/password-strength.cjs +8 -8
  528. package/dist/password-strength.cjs.map +1 -1
  529. package/dist/password-strength.js +34 -34
  530. package/dist/password-strength.js.map +1 -1
  531. package/dist/popover.cjs +4 -4
  532. package/dist/popover.cjs.map +1 -1
  533. package/dist/popover.js +30 -30
  534. package/dist/popover.js.map +1 -1
  535. package/dist/progress.cjs +1 -1
  536. package/dist/progress.cjs.map +1 -1
  537. package/dist/progress.js +30 -30
  538. package/dist/progress.js.map +1 -1
  539. package/dist/radio-group.cjs +11 -11
  540. package/dist/radio-group.cjs.map +1 -1
  541. package/dist/radio-group.js +67 -63
  542. package/dist/radio-group.js.map +1 -1
  543. package/dist/radio.cjs +4 -4
  544. package/dist/radio.cjs.map +1 -1
  545. package/dist/radio.js +69 -67
  546. package/dist/radio.js.map +1 -1
  547. package/dist/rating.cjs +4 -4
  548. package/dist/rating.cjs.map +1 -1
  549. package/dist/rating.js +57 -55
  550. package/dist/rating.js.map +1 -1
  551. package/dist/refine.cjs +753 -623
  552. package/dist/refine.cjs.map +1 -1
  553. package/dist/refine.iife.js +742 -612
  554. package/dist/refine.iife.js.map +1 -1
  555. package/dist/refine.js +777 -647
  556. package/dist/refine.js.map +1 -1
  557. package/dist/select.cjs +37 -37
  558. package/dist/select.cjs.map +1 -1
  559. package/dist/select.js +130 -128
  560. package/dist/select.js.map +1 -1
  561. package/dist/separator.cjs +1 -1
  562. package/dist/separator.cjs.map +1 -1
  563. package/dist/separator.js +1 -1
  564. package/dist/sidebar.cjs +22 -22
  565. package/dist/sidebar.cjs.map +1 -1
  566. package/dist/sidebar.js +135 -135
  567. package/dist/sidebar.js.map +1 -1
  568. package/dist/skeleton.cjs +2 -2
  569. package/dist/skeleton.cjs.map +1 -1
  570. package/dist/skeleton.js +28 -28
  571. package/dist/skeleton.js.map +1 -1
  572. package/dist/slider.cjs +13 -13
  573. package/dist/slider.cjs.map +1 -1
  574. package/dist/slider.js +142 -140
  575. package/dist/slider.js.map +1 -1
  576. package/dist/styles/mixins/animation.css.cjs +0 -3
  577. package/dist/styles/mixins/animation.css.cjs.map +1 -1
  578. package/dist/styles/mixins/animation.css.d.ts +12 -4
  579. package/dist/styles/mixins/animation.css.d.ts.map +1 -1
  580. package/dist/styles/mixins/animation.css.js +0 -3
  581. package/dist/styles/mixins/animation.css.js.map +1 -1
  582. package/dist/styles/mixins/variants.css.cjs.map +1 -1
  583. package/dist/styles/mixins/variants.css.d.ts +7 -2
  584. package/dist/styles/mixins/variants.css.d.ts.map +1 -1
  585. package/dist/styles/mixins/variants.css.js.map +1 -1
  586. package/dist/styles/theme.css +341 -132
  587. package/dist/switch.cjs +4 -4
  588. package/dist/switch.cjs.map +1 -1
  589. package/dist/switch.js +35 -33
  590. package/dist/switch.js.map +1 -1
  591. package/dist/tab-item.cjs +5 -5
  592. package/dist/tab-item.cjs.map +1 -1
  593. package/dist/tab-item.js +25 -25
  594. package/dist/tab-item.js.map +1 -1
  595. package/dist/tab-panel.cjs +6 -6
  596. package/dist/tab-panel.cjs.map +1 -1
  597. package/dist/tab-panel.js +24 -24
  598. package/dist/tab-panel.js.map +1 -1
  599. package/dist/table.cjs +1 -1
  600. package/dist/table.cjs.map +1 -1
  601. package/dist/table.js +36 -35
  602. package/dist/table.js.map +1 -1
  603. package/dist/tabs.cjs +3 -3
  604. package/dist/tabs.cjs.map +1 -1
  605. package/dist/tabs.js +61 -61
  606. package/dist/tabs.js.map +1 -1
  607. package/dist/text.cjs +1 -1
  608. package/dist/text.cjs.map +1 -1
  609. package/dist/text.js +16 -16
  610. package/dist/text.js.map +1 -1
  611. package/dist/textarea.cjs +15 -15
  612. package/dist/textarea.cjs.map +1 -1
  613. package/dist/textarea.js +67 -65
  614. package/dist/textarea.js.map +1 -1
  615. package/dist/time-picker.cjs +31 -31
  616. package/dist/time-picker.cjs.map +1 -1
  617. package/dist/time-picker.js +115 -113
  618. package/dist/time-picker.js.map +1 -1
  619. package/dist/toast.cjs +14 -14
  620. package/dist/toast.cjs.map +1 -1
  621. package/dist/toast.js +85 -85
  622. package/dist/toast.js.map +1 -1
  623. package/dist/tooltip.cjs +5 -5
  624. package/dist/tooltip.cjs.map +1 -1
  625. package/dist/tooltip.js +55 -55
  626. package/dist/tooltip.js.map +1 -1
  627. package/dist/typing-indicator.cjs +8 -0
  628. package/dist/typing-indicator.cjs.map +1 -0
  629. package/dist/typing-indicator.js +49 -0
  630. package/dist/typing-indicator.js.map +1 -0
  631. package/package.json +31 -8
  632. package/dist/content/avatar/avatar-group.css?inline.cjs.map +0 -1
  633. package/dist/content/avatar/avatar-group.css?inline.js.map +0 -1
  634. package/dist/content/avatar/avatar.css?inline.cjs.map +0 -1
  635. package/dist/content/avatar/avatar.css?inline.js.map +0 -1
  636. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs.map +0 -1
  637. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js.map +0 -1
  638. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs.map +0 -1
  639. package/dist/content/breadcrumb/breadcrumb.css?inline.js.map +0 -1
  640. package/dist/content/card/card.css?inline.cjs +0 -2
  641. package/dist/content/card/card.css?inline.cjs.map +0 -1
  642. package/dist/content/card/card.css?inline.js +0 -6
  643. package/dist/content/card/card.css?inline.js.map +0 -1
  644. package/dist/content/carousel/carousel-slide.css?inline.cjs.map +0 -1
  645. package/dist/content/carousel/carousel-slide.css?inline.js.map +0 -1
  646. package/dist/content/carousel/carousel.css?inline.cjs.map +0 -1
  647. package/dist/content/carousel/carousel.css?inline.js.map +0 -1
  648. package/dist/content/code-window/code-window.css?inline.cjs.map +0 -1
  649. package/dist/content/code-window/code-window.css?inline.js.map +0 -1
  650. package/dist/content/copy-command/copy-command.css?inline.cjs.map +0 -1
  651. package/dist/content/copy-command/copy-command.css?inline.js.map +0 -1
  652. package/dist/content/icon/icon.css?inline.cjs +0 -2
  653. package/dist/content/icon/icon.css?inline.cjs.map +0 -1
  654. package/dist/content/icon/icon.css?inline.js +0 -6
  655. package/dist/content/icon/icon.css?inline.js.map +0 -1
  656. package/dist/content/pagination/pagination.css?inline.cjs.map +0 -1
  657. package/dist/content/pagination/pagination.css?inline.js.map +0 -1
  658. package/dist/content/separator/separator.css?inline.cjs.map +0 -1
  659. package/dist/content/separator/separator.css?inline.js.map +0 -1
  660. package/dist/content/table/table.css?inline.cjs.map +0 -1
  661. package/dist/content/table/table.css?inline.js.map +0 -1
  662. package/dist/content/text/text.css?inline.cjs.map +0 -1
  663. package/dist/content/text/text.css?inline.js.map +0 -1
  664. package/dist/disclosure/accordion/accordion.css?inline.cjs.map +0 -1
  665. package/dist/disclosure/accordion/accordion.css?inline.js.map +0 -1
  666. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs.map +0 -1
  667. package/dist/disclosure/accordion-item/accordion-item.css?inline.js.map +0 -1
  668. package/dist/disclosure/tab-item/tab-item.css?inline.cjs.map +0 -1
  669. package/dist/disclosure/tab-item/tab-item.css?inline.js.map +0 -1
  670. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs.map +0 -1
  671. package/dist/disclosure/tab-panel/tab-panel.css?inline.js.map +0 -1
  672. package/dist/disclosure/tabs/tabs.css?inline.cjs.map +0 -1
  673. package/dist/disclosure/tabs/tabs.css?inline.js.map +0 -1
  674. package/dist/feedback/alert/alert.css?inline.cjs.map +0 -1
  675. package/dist/feedback/alert/alert.css?inline.js.map +0 -1
  676. package/dist/feedback/async/async.css?inline.cjs.map +0 -1
  677. package/dist/feedback/async/async.css?inline.js.map +0 -1
  678. package/dist/feedback/badge/badge.css?inline.cjs.map +0 -1
  679. package/dist/feedback/badge/badge.css?inline.js.map +0 -1
  680. package/dist/feedback/chip/chip.css?inline.cjs.map +0 -1
  681. package/dist/feedback/chip/chip.css?inline.js.map +0 -1
  682. package/dist/feedback/password-strength/password-strength.css?inline.cjs.map +0 -1
  683. package/dist/feedback/password-strength/password-strength.css?inline.js.map +0 -1
  684. package/dist/feedback/progress/progress.css?inline.cjs.map +0 -1
  685. package/dist/feedback/progress/progress.css?inline.js.map +0 -1
  686. package/dist/feedback/skeleton/skeleton.css?inline.cjs.map +0 -1
  687. package/dist/feedback/skeleton/skeleton.css?inline.js.map +0 -1
  688. package/dist/feedback/toast/toast.css?inline.cjs +0 -2
  689. package/dist/feedback/toast/toast.css?inline.cjs.map +0 -1
  690. package/dist/feedback/toast/toast.css?inline.js +0 -6
  691. package/dist/feedback/toast/toast.css?inline.js.map +0 -1
  692. package/dist/inputs/button/button.css?inline.cjs +0 -2
  693. package/dist/inputs/button/button.css?inline.cjs.map +0 -1
  694. package/dist/inputs/button/button.css?inline.js +0 -6
  695. package/dist/inputs/button/button.css?inline.js.map +0 -1
  696. package/dist/inputs/button-group/button-group.css?inline.cjs.map +0 -1
  697. package/dist/inputs/button-group/button-group.css?inline.js.map +0 -1
  698. package/dist/inputs/calendar/calendar.css?inline.cjs.map +0 -1
  699. package/dist/inputs/calendar/calendar.css?inline.js.map +0 -1
  700. package/dist/inputs/checkbox/checkbox.css?inline.cjs.map +0 -1
  701. package/dist/inputs/checkbox/checkbox.css?inline.js.map +0 -1
  702. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs.map +0 -1
  703. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js.map +0 -1
  704. package/dist/inputs/combobox/combobox.css?inline.cjs.map +0 -1
  705. package/dist/inputs/combobox/combobox.css?inline.js.map +0 -1
  706. package/dist/inputs/datagrid/datagrid.css?inline.cjs.map +0 -1
  707. package/dist/inputs/datagrid/datagrid.css?inline.js.map +0 -1
  708. package/dist/inputs/date-picker/date-picker.css?inline.cjs.map +0 -1
  709. package/dist/inputs/date-picker/date-picker.css?inline.js.map +0 -1
  710. package/dist/inputs/file-input/file-input.css?inline.cjs +0 -2
  711. package/dist/inputs/file-input/file-input.css?inline.cjs.map +0 -1
  712. package/dist/inputs/file-input/file-input.css?inline.js +0 -6
  713. package/dist/inputs/file-input/file-input.css?inline.js.map +0 -1
  714. package/dist/inputs/form/form.css?inline.cjs.map +0 -1
  715. package/dist/inputs/form/form.css?inline.js.map +0 -1
  716. package/dist/inputs/input/input.css?inline.cjs +0 -2
  717. package/dist/inputs/input/input.css?inline.cjs.map +0 -1
  718. package/dist/inputs/input/input.css?inline.js +0 -6
  719. package/dist/inputs/input/input.css?inline.js.map +0 -1
  720. package/dist/inputs/number-input/number-input.css?inline.cjs.map +0 -1
  721. package/dist/inputs/number-input/number-input.css?inline.js.map +0 -1
  722. package/dist/inputs/otp-input/otp-input.css?inline.cjs.map +0 -1
  723. package/dist/inputs/otp-input/otp-input.css?inline.js.map +0 -1
  724. package/dist/inputs/radio/radio.css?inline.cjs.map +0 -1
  725. package/dist/inputs/radio/radio.css?inline.js.map +0 -1
  726. package/dist/inputs/radio-group/radio-group.css?inline.cjs.map +0 -1
  727. package/dist/inputs/radio-group/radio-group.css?inline.js.map +0 -1
  728. package/dist/inputs/rating/rating.css?inline.cjs.map +0 -1
  729. package/dist/inputs/rating/rating.css?inline.js.map +0 -1
  730. package/dist/inputs/select/select.css?inline.cjs.map +0 -1
  731. package/dist/inputs/select/select.css?inline.js.map +0 -1
  732. package/dist/inputs/slider/slider.css?inline.cjs.map +0 -1
  733. package/dist/inputs/slider/slider.css?inline.js.map +0 -1
  734. package/dist/inputs/switch/switch.css?inline.cjs.map +0 -1
  735. package/dist/inputs/switch/switch.css?inline.js.map +0 -1
  736. package/dist/inputs/textarea/textarea.css?inline.cjs +0 -2
  737. package/dist/inputs/textarea/textarea.css?inline.cjs.map +0 -1
  738. package/dist/inputs/textarea/textarea.css?inline.js +0 -6
  739. package/dist/inputs/textarea/textarea.css?inline.js.map +0 -1
  740. package/dist/inputs/time-picker/time-picker.css?inline.cjs.map +0 -1
  741. package/dist/inputs/time-picker/time-picker.css?inline.js.map +0 -1
  742. package/dist/layout/box/box.css?inline.cjs.map +0 -1
  743. package/dist/layout/box/box.css?inline.js.map +0 -1
  744. package/dist/layout/grid/grid.css?inline.cjs.map +0 -1
  745. package/dist/layout/grid/grid.css?inline.js.map +0 -1
  746. package/dist/layout/grid-item/grid-item.css?inline.cjs.map +0 -1
  747. package/dist/layout/grid-item/grid-item.css?inline.js.map +0 -1
  748. package/dist/layout/navbar/navbar.css?inline.cjs +0 -2
  749. package/dist/layout/navbar/navbar.css?inline.cjs.map +0 -1
  750. package/dist/layout/navbar/navbar.css?inline.js +0 -6
  751. package/dist/layout/navbar/navbar.css?inline.js.map +0 -1
  752. package/dist/layout/sidebar/sidebar-group.css?inline.cjs.map +0 -1
  753. package/dist/layout/sidebar/sidebar-group.css?inline.js.map +0 -1
  754. package/dist/layout/sidebar/sidebar-item.css?inline.cjs.map +0 -1
  755. package/dist/layout/sidebar/sidebar-item.css?inline.js.map +0 -1
  756. package/dist/layout/sidebar/sidebar.css?inline.cjs +0 -2
  757. package/dist/layout/sidebar/sidebar.css?inline.cjs.map +0 -1
  758. package/dist/layout/sidebar/sidebar.css?inline.js +0 -6
  759. package/dist/layout/sidebar/sidebar.css?inline.js.map +0 -1
  760. package/dist/ore/dist/aria.cjs +0 -2
  761. package/dist/ore/dist/aria.cjs.map +0 -1
  762. package/dist/ore/dist/aria.js +0 -37
  763. package/dist/ore/dist/aria.js.map +0 -1
  764. package/dist/ore/dist/context-bag.cjs +0 -2
  765. package/dist/ore/dist/context-bag.cjs.map +0 -1
  766. package/dist/ore/dist/context-bag.js +0 -28
  767. package/dist/ore/dist/context-bag.js.map +0 -1
  768. package/dist/ore/dist/host-bind.cjs +0 -2
  769. package/dist/ore/dist/host-bind.cjs.map +0 -1
  770. package/dist/ore/dist/host-bind.js +0 -60
  771. package/dist/ore/dist/host-bind.js.map +0 -1
  772. package/dist/ore/dist/slots.cjs +0 -2
  773. package/dist/ore/dist/slots.cjs.map +0 -1
  774. package/dist/ore/dist/slots.js +0 -61
  775. package/dist/ore/dist/slots.js.map +0 -1
  776. package/dist/ore/dist/utils/aria.cjs +0 -2
  777. package/dist/ore/dist/utils/aria.cjs.map +0 -1
  778. package/dist/ore/dist/utils/aria.js +0 -6
  779. package/dist/ore/dist/utils/aria.js.map +0 -1
  780. package/dist/ore/dist/utils/emit.cjs +0 -2
  781. package/dist/ore/dist/utils/emit.cjs.map +0 -1
  782. package/dist/ore/dist/utils/emit.js +0 -16
  783. package/dist/ore/dist/utils/emit.js.map +0 -1
  784. package/dist/overlay/dialog/dialog.css?inline.cjs.map +0 -1
  785. package/dist/overlay/dialog/dialog.css?inline.js.map +0 -1
  786. package/dist/overlay/drawer/drawer.css?inline.cjs.map +0 -1
  787. package/dist/overlay/drawer/drawer.css?inline.js.map +0 -1
  788. package/dist/overlay/menu/menu-item.css?inline.cjs.map +0 -1
  789. package/dist/overlay/menu/menu-item.css?inline.js.map +0 -1
  790. package/dist/overlay/menu/menu-separator.css?inline.cjs.map +0 -1
  791. package/dist/overlay/menu/menu-separator.css?inline.js.map +0 -1
  792. package/dist/overlay/menu/menu.css?inline.cjs +0 -2
  793. package/dist/overlay/menu/menu.css?inline.cjs.map +0 -1
  794. package/dist/overlay/menu/menu.css?inline.js +0 -6
  795. package/dist/overlay/menu/menu.css?inline.js.map +0 -1
  796. package/dist/overlay/popover/popover.css?inline.cjs.map +0 -1
  797. package/dist/overlay/popover/popover.css?inline.js.map +0 -1
  798. package/dist/overlay/tooltip/tooltip.css?inline.cjs.map +0 -1
  799. package/dist/overlay/tooltip/tooltip.css?inline.js.map +0 -1
@@ -12,30 +12,39 @@ var t = class e extends Error {
12
12
  super(e);
13
13
  }
14
14
  }, r = class extends t {
15
+ constructor(e) {
16
+ super(e);
17
+ }
18
+ }, i = class extends t {
15
19
  component;
16
20
  phase;
17
21
  constructor(e, t) {
18
22
  super(e, { cause: t.cause }), this.component = t.component, this.phase = t.phase;
19
23
  }
20
24
  };
21
- function i(t, n) {
25
+ function a(t, n) {
22
26
  e(`<${t.component}> setup error (phase: ${t.phase}):`, t.cause), n.dispatchEvent(new CustomEvent("ore:error", {
23
27
  bubbles: !0,
24
28
  composed: !0,
25
29
  detail: t
26
30
  }));
27
31
  }
28
- var a = {
32
+ var o = {
29
33
  defineDuplicate: (e) => `define('${e}') called twice — custom element already registered`,
30
34
  defineFieldRequiresFormAssociated: (e) => `useField() requires define('${e}', { formAssociated: true })`,
31
35
  defineRequiresTag: "define() requires a tag name",
32
36
  eachDuplicateKey: (e, t) => `each() received duplicate key "${e}" at index ${t}`,
33
37
  injectStrictFailed: (e, t) => `injectStrict() could not resolve key "${e}" in <${t}>`,
38
+ invalidDynamicTagName: (e) => `html\`...\`: dynamic tag name "${e}" is not a valid HTML element name`,
39
+ invariantViolated: (e) => `invariant violated: ${e}`,
34
40
  lifecycleOutsideSetup: "Lifecycle hooks must be called during component setup",
35
41
  propInvalidReflect: "Structured props cannot use reflect:true — use prop.json() with reflect:false",
36
42
  validationFailed: (e, t) => `Validation failed for <${e}>:\n${t.join("\n")}`
37
43
  };
44
+ function s(e, t) {
45
+ if (!e) throw new r(o.invariantViolated(t));
46
+ }
38
47
  //#endregion
39
- export { a as ORE_ERRORS, n as OreApiError, t as OreError, r as OreLifecycleError, i as reportRuntimeError };
48
+ export { o as ORE_ERRORS, n as OreApiError, t as OreError, r as OreInternalError, i as OreLifecycleError, s as invariant, a as reportRuntimeError };
40
49
 
41
50
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":[],"sources":["../../../../ore/dist/errors.js"],"sourcesContent":["import{error as e}from\"./_dev.js\";var t=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},n=class extends t{constructor(e){super(e)}},r=class extends t{component;phase;constructor(e,t){super(e,{cause:t.cause}),this.component=t.component,this.phase=t.phase}};function i(t,n){e(`<${t.component}> setup error (phase: ${t.phase}):`,t.cause),n.dispatchEvent(new CustomEvent(`ore:error`,{bubbles:!0,composed:!0,detail:t}))}var a=class extends t{},o={defineDuplicate:e=>`define('${e}') called twice — custom element already registered`,defineFieldRequiresFormAssociated:e=>`useField() requires define('${e}', { formAssociated: true })`,defineRequiresTag:`define() requires a tag name`,eachDuplicateKey:(e,t)=>`each() received duplicate key \"${e}\" at index ${t}`,injectStrictFailed:(e,t)=>`injectStrict() could not resolve key \"${e}\" in <${t}>`,lifecycleOutsideSetup:`Lifecycle hooks must be called during component setup`,propInvalidReflect:`Structured props cannot use reflect:true — use prop.json() with reflect:false`,validationFailed:(e,t)=>`Validation failed for <${e}>:\\n${t.join(`\n`)}`};export{o as ORE_ERRORS,n as OreApiError,t as OreError,r as OreLifecycleError,a as OreTimeoutError,i as reportRuntimeError};\n//# sourceMappingURL=errors.js.map"],"mappings":";;AAAkC,IAAI,IAAE,MAAM,UAAU,MAAK;CAAC,YAAY,GAAE,GAAE;EAAC,MAAM,GAAE,CAAC,GAAE,KAAK,OAAK,IAAI,OAAO,MAAK,OAAO,eAAe,MAAK,IAAI,OAAO,SAAS;CAAC;CAAC,OAAO,GAAG,GAAE;EAAC,OAAO,aAAa;CAAC;AAAC,GAAE,IAAE,cAAc,EAAC;CAAC,YAAY,GAAE;EAAC,MAAM,CAAC;CAAC;AAAC,GAAE,IAAE,cAAc,EAAC;CAAC;CAAU;CAAM,YAAY,GAAE,GAAE;EAAC,MAAM,GAAE,EAAC,OAAM,EAAE,MAAK,CAAC,GAAE,KAAK,YAAU,EAAE,WAAU,KAAK,QAAM,EAAE;CAAK;AAAC;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,EAAE,IAAI,EAAE,UAAU,wBAAwB,EAAE,MAAM,KAAI,EAAE,KAAK,GAAE,EAAE,cAAc,IAAI,YAAY,aAAY;EAAC,SAAQ,CAAC;EAAE,UAAS,CAAC;EAAE,QAAO;CAAC,CAAC,CAAC;AAAC;AAAC,IAAwB,IAAE;CAAC,kBAAgB,MAAG,WAAW,EAAE;CAAqD,oCAAkC,MAAG,+BAA+B,EAAE;CAA8B,mBAAkB;CAA+B,mBAAkB,GAAE,MAAI,kCAAkC,EAAE,aAAa;CAAI,qBAAoB,GAAE,MAAI,yCAAyC,EAAE,QAAQ,EAAE;CAAG,uBAAsB;CAAwD,oBAAmB;CAAgF,mBAAkB,GAAE,MAAI,0BAA0B,EAAE,MAAM,EAAE,KAAK,IACtqC;AAAG"}
1
+ {"version":3,"file":"errors.js","names":[],"sources":["../../../../ore/dist/errors.js"],"sourcesContent":["import{error as e}from\"./_dev.js\";var t=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},n=class extends t{constructor(e){super(e)}},r=class extends t{constructor(e){super(e)}},i=class extends t{component;phase;constructor(e,t){super(e,{cause:t.cause}),this.component=t.component,this.phase=t.phase}};function a(t,n){e(`<${t.component}> setup error (phase: ${t.phase}):`,t.cause),n.dispatchEvent(new CustomEvent(`ore:error`,{bubbles:!0,composed:!0,detail:t}))}var o=class extends t{},s={defineDuplicate:e=>`define('${e}') called twice — custom element already registered`,defineFieldRequiresFormAssociated:e=>`useField() requires define('${e}', { formAssociated: true })`,defineRequiresTag:`define() requires a tag name`,eachDuplicateKey:(e,t)=>`each() received duplicate key \"${e}\" at index ${t}`,injectStrictFailed:(e,t)=>`injectStrict() could not resolve key \"${e}\" in <${t}>`,invalidDynamicTagName:e=>`html\\`...\\`: dynamic tag name \"${e}\" is not a valid HTML element name`,invariantViolated:e=>`invariant violated: ${e}`,lifecycleOutsideSetup:`Lifecycle hooks must be called during component setup`,propInvalidReflect:`Structured props cannot use reflect:true — use prop.json() with reflect:false`,validationFailed:(e,t)=>`Validation failed for <${e}>:\\n${t.join(`\n`)}`};function c(e,t){if(!e)throw new r(s.invariantViolated(t))}export{s as ORE_ERRORS,n as OreApiError,t as OreError,r as OreInternalError,i as OreLifecycleError,o as OreTimeoutError,c as invariant,a as reportRuntimeError};\n//# sourceMappingURL=errors.js.map"],"mappings":";;AAAkC,IAAI,IAAE,MAAM,UAAU,MAAK;CAAC,YAAY,GAAE,GAAE;EAAC,MAAM,GAAE,CAAC,GAAE,KAAK,OAAK,IAAI,OAAO,MAAK,OAAO,eAAe,MAAK,IAAI,OAAO,SAAS;CAAC;CAAC,OAAO,GAAG,GAAE;EAAC,OAAO,aAAa;CAAC;AAAC,GAAE,IAAE,cAAc,EAAC;CAAC,YAAY,GAAE;EAAC,MAAM,CAAC;CAAC;AAAC,GAAE,IAAE,cAAc,EAAC;CAAC,YAAY,GAAE;EAAC,MAAM,CAAC;CAAC;AAAC,GAAE,IAAE,cAAc,EAAC;CAAC;CAAU;CAAM,YAAY,GAAE,GAAE;EAAC,MAAM,GAAE,EAAC,OAAM,EAAE,MAAK,CAAC,GAAE,KAAK,YAAU,EAAE,WAAU,KAAK,QAAM,EAAE;CAAK;AAAC;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,EAAE,IAAI,EAAE,UAAU,wBAAwB,EAAE,MAAM,KAAI,EAAE,KAAK,GAAE,EAAE,cAAc,IAAI,YAAY,aAAY;EAAC,SAAQ,CAAC;EAAE,UAAS,CAAC;EAAE,QAAO;CAAC,CAAC,CAAC;AAAC;AAAC,IAAwB,IAAE;CAAC,kBAAgB,MAAG,WAAW,EAAE;CAAqD,oCAAkC,MAAG,+BAA+B,EAAE;CAA8B,mBAAkB;CAA+B,mBAAkB,GAAE,MAAI,kCAAkC,EAAE,aAAa;CAAI,qBAAoB,GAAE,MAAI,yCAAyC,EAAE,QAAQ,EAAE;CAAG,wBAAsB,MAAG,kCAAkC,EAAE;CAAoC,oBAAkB,MAAG,uBAAuB;CAAI,uBAAsB;CAAwD,oBAAmB;CAAgF,mBAAkB,GAAE,MAAI,0BAA0B,EAAE,MAAM,EAAE,KAAK,IACn2C;AAAG;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,IAAG,CAAC,GAAE,MAAM,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ const e=require("../context.cjs");require("@vielzeug/ripple"),e.createContext(`ore:form-context`);
2
+ //# sourceMappingURL=context.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.cjs","names":["e"],"sources":["../../../../../ore/dist/forms/context.js"],"sourcesContent":["import{createContext as e}from\"../context.js\";import{computed as t,signal as n}from\"@vielzeug/ripple\";var r=e(`ore:form-context`);function i(e={}){let r=n([]),i=n(!1),a=n(!1),o=n(null);return{clearStatus:()=>{a.value=!1,o.value=null,e.onReset?.()},dirty:a,error:o,markDirty:()=>{a.value=!0},registerField:e=>(r.value=[...r.value,e],()=>{r.value=r.value.filter(t=>t!==e)}),submit:async t=>{if(t?.preventDefault(),!i.value){i.value=!0,o.value=null;try{await e.onSubmit?.(t),a.value=!1}catch(e){o.value=e}finally{i.value=!1}}},submitting:i,valid:t(()=>r.value.every(e=>e.value))}}export{r as FORM_CONTEXT_KEY,i as createFormContext};\n//# sourceMappingURL=context.js.map"],"mappings":"8DAA4GA,EAAAA,cAAE,kBAAkB"}
@@ -0,0 +1,6 @@
1
+ import { createContext as e } from "../context.js";
2
+ import "@vielzeug/ripple";
3
+ e("ore:form-context");
4
+ //#endregion
5
+
6
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":["e"],"sources":["../../../../../ore/dist/forms/context.js"],"sourcesContent":["import{createContext as e}from\"../context.js\";import{computed as t,signal as n}from\"@vielzeug/ripple\";var r=e(`ore:form-context`);function i(e={}){let r=n([]),i=n(!1),a=n(!1),o=n(null);return{clearStatus:()=>{a.value=!1,o.value=null,e.onReset?.()},dirty:a,error:o,markDirty:()=>{a.value=!0},registerField:e=>(r.value=[...r.value,e],()=>{r.value=r.value.filter(t=>t!==e)}),submit:async t=>{if(t?.preventDefault(),!i.value){i.value=!0,o.value=null;try{await e.onSubmit?.(t),a.value=!1}catch(e){o.value=e}finally{i.value=!1}}},submitting:i,valid:t(()=>r.value.every(e=>e.value))}}export{r as FORM_CONTEXT_KEY,i as createFormContext};\n//# sourceMappingURL=context.js.map"],"mappings":";;AAA4GA,EAAE,kBAAkB"}
@@ -0,0 +1,2 @@
1
+ const e=require("../_dev.cjs"),t=require("../errors.cjs"),n=require("../runtime.cjs");require("@vielzeug/ripple");var r=new WeakMap,i=i=>{let a=i.el??n.getHost();if(!a.constructor.formAssociated)throw new t.OreApiError(t.ORE_ERRORS.defineFieldRequiresFormAssociated(a.localName));if(r.has(a))throw new t.OreApiError(`useField() was already called on <${a.localName}>. Call it only once per component.`);let o=a.attachInternals();r.set(a,o),n.onCleanup(()=>r.delete(a));let s=i.toFormValue??(e=>e==null?i.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));n.watchEffect(()=>{o.setFormValue(s(i.value.value))});let c=i.disabled;if(c)if(!(`states`in o))e.warn(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=o.states;n.watchEffect(()=>{c.value?e.add(`disabled`):e.delete(`disabled`)})}return{checkValidity:()=>o.checkValidity(),internals:o,reportValidity:()=>o.reportValidity(),setCustomValidity:e=>e?o.setValidity({customError:!0},e):o.setValidity({}),setValidity:o.setValidity.bind(o)}};exports.useField=i;
2
+ //# sourceMappingURL=field.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.cjs","names":["c","r","n","t","i","u"],"sources":["../../../../../ore/dist/forms/field.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"../errors.js\";import{getHost as r,onCleanup as i,watchEffect as a}from\"../runtime.js\";import\"@vielzeug/ripple\";var o=new WeakMap,s=s=>{let c=s.el??r();if(!c.constructor.formAssociated)throw new n(t.defineFieldRequiresFormAssociated(c.localName));if(o.has(c))throw new n(`useField() was already called on <${c.localName}>. Call it only once per component.`);let l=c.attachInternals();o.set(c,l),i(()=>o.delete(c));let u=s.toFormValue??(e=>e==null?s.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));a(()=>{l.setFormValue(u(s.value.value))});let d=s.disabled;if(d)if(!(`states`in l))e(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=l.states;a(()=>{d.value?e.add(`disabled`):e.delete(`disabled`)})}return{checkValidity:()=>l.checkValidity(),internals:l,reportValidity:()=>l.reportValidity(),setCustomValidity:e=>e?l.setValidity({customError:!0},e):l.setValidity({}),setValidity:l.setValidity.bind(l)}};export{s as useField};\n//# sourceMappingURL=field.js.map"],"mappings":"kHAA8L,IAAI,EAAE,IAAI,QAAQ,EAAE,GAAG,CAAC,IAAIA,EAAE,EAAE,IAAIC,EAAAA,QAAE,EAAE,GAAG,CAACD,EAAE,YAAY,eAAe,MAAM,IAAIE,EAAAA,YAAEC,EAAAA,WAAE,kCAAkCH,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAIA,CAAC,EAAE,MAAM,IAAIE,EAAAA,YAAE,qCAAqCF,EAAE,UAAU,oCAAoC,EAAE,IAAI,EAAEA,EAAE,gBAAgB,EAAE,EAAE,IAAIA,EAAE,CAAC,EAAEI,EAAAA,cAAM,EAAE,OAAOJ,CAAC,CAAC,EAAE,IAAIK,EAAE,EAAE,cAAc,GAAG,GAAG,KAAK,EAAE,mBAAmB,GAAG,KAAK,aAAa,MAAM,aAAa,SAAS,EAAE,OAAO,CAAC,GAAG,EAAA,gBAAM,CAAC,EAAE,aAAaA,EAAE,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,EAAA,KAAE,8HAA8H,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAA,gBAAM,CAAC,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,GAAG,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { warn as e } from "../_dev.js";
2
+ import { ORE_ERRORS as t, OreApiError as n } from "../errors.js";
3
+ import { getHost as r, onCleanup as i, watchEffect as a } from "../runtime.js";
4
+ import "@vielzeug/ripple";
5
+ //#region ../ore/dist/forms/field.js
6
+ var o = /* @__PURE__ */ new WeakMap(), s = (s) => {
7
+ let c = s.el ?? r();
8
+ if (!c.constructor.formAssociated) throw new n(t.defineFieldRequiresFormAssociated(c.localName));
9
+ if (o.has(c)) throw new n(`useField() was already called on <${c.localName}>. Call it only once per component.`);
10
+ let l = c.attachInternals();
11
+ o.set(c, l), i(() => o.delete(c));
12
+ let u = s.toFormValue ?? ((e) => e == null ? s.emptyStringForNull ? "" : null : e instanceof File || e instanceof FormData ? e : String(e));
13
+ a(() => {
14
+ l.setFormValue(u(s.value.value));
15
+ });
16
+ let d = s.disabled;
17
+ if (d) if (!("states" in l)) e("useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.");
18
+ else {
19
+ let e = l.states;
20
+ a(() => {
21
+ d.value ? e.add("disabled") : e.delete("disabled");
22
+ });
23
+ }
24
+ return {
25
+ checkValidity: () => l.checkValidity(),
26
+ internals: l,
27
+ reportValidity: () => l.reportValidity(),
28
+ setCustomValidity: (e) => e ? l.setValidity({ customError: !0 }, e) : l.setValidity({}),
29
+ setValidity: l.setValidity.bind(l)
30
+ };
31
+ };
32
+ //#endregion
33
+ export { s as useField };
34
+
35
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","names":["c","r","t","i","u"],"sources":["../../../../../ore/dist/forms/field.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"../errors.js\";import{getHost as r,onCleanup as i,watchEffect as a}from\"../runtime.js\";import\"@vielzeug/ripple\";var o=new WeakMap,s=s=>{let c=s.el??r();if(!c.constructor.formAssociated)throw new n(t.defineFieldRequiresFormAssociated(c.localName));if(o.has(c))throw new n(`useField() was already called on <${c.localName}>. Call it only once per component.`);let l=c.attachInternals();o.set(c,l),i(()=>o.delete(c));let u=s.toFormValue??(e=>e==null?s.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));a(()=>{l.setFormValue(u(s.value.value))});let d=s.disabled;if(d)if(!(`states`in l))e(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=l.states;a(()=>{d.value?e.add(`disabled`):e.delete(`disabled`)})}return{checkValidity:()=>l.checkValidity(),internals:l,reportValidity:()=>l.reportValidity(),setCustomValidity:e=>e?l.setValidity({customError:!0},e):l.setValidity({}),setValidity:l.setValidity.bind(l)}};export{s as useField};\n//# sourceMappingURL=field.js.map"],"mappings":";;;;;AAA8L,IAAI,oBAAE,IAAI,QAAM,GAAE,KAAE,MAAG;CAAC,IAAIA,IAAE,EAAE,MAAIC,EAAE;CAAE,IAAG,CAACD,EAAE,YAAY,gBAAe,MAAM,IAAI,EAAEE,EAAE,kCAAkCF,EAAE,SAAS,CAAC;CAAE,IAAG,EAAE,IAAIA,CAAC,GAAE,MAAM,IAAI,EAAE,qCAAqCA,EAAE,UAAU,oCAAoC;CAAE,IAAI,IAAEA,EAAE,gBAAgB;CAAE,EAAE,IAAIA,GAAE,CAAC,GAAEG,QAAM,EAAE,OAAOH,CAAC,CAAC;CAAE,IAAII,IAAE,EAAE,iBAAc,MAAG,KAAG,OAAK,EAAE,qBAAmB,KAAG,OAAK,aAAa,QAAM,aAAa,WAAS,IAAE,OAAO,CAAC;CAAG,QAAM;EAAC,EAAE,aAAaA,EAAE,EAAE,MAAM,KAAK,CAAC;CAAC,CAAC;CAAE,IAAI,IAAE,EAAE;CAAS,IAAG,GAAE,IAAG,EAAE,YAAW,IAAG,EAAE,8HAA8H;MAAM;EAAC,IAAI,IAAE,EAAE;EAAO,QAAM;GAAC,EAAE,QAAM,EAAE,IAAI,UAAU,IAAE,EAAE,OAAO,UAAU;EAAC,CAAC;CAAC;CAAC,OAAM;EAAC,qBAAkB,EAAE,cAAc;EAAE,WAAU;EAAE,sBAAmB,EAAE,eAAe;EAAE,oBAAkB,MAAG,IAAE,EAAE,YAAY,EAAC,aAAY,CAAC,EAAC,GAAE,CAAC,IAAE,EAAE,YAAY,CAAC,CAAC;EAAE,aAAY,EAAE,YAAY,KAAK,CAAC;CAAC;AAAC"}
@@ -0,0 +1 @@
1
+ const e=require("./forms/field.cjs");require("./forms/context.cjs"),exports.useField=e.useField;
@@ -0,0 +1,3 @@
1
+ import { useField as e } from "./forms/field.js";
2
+ import "./forms/context.js";
3
+ export { e as useField };
@@ -1,2 +1,2 @@
1
- require("./_dev.cjs");const e=require("./errors.cjs"),t=require("./utils/dom.cjs"),n=require("./runtime.cjs");let r=require("@vielzeug/ripple");var i=e=>typeof e==`object`&&!!e&&`default`in e&&`parse`in e;function a(n,r){if(!i(n))throw new e.OreApiError(`Prop "${r}" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof n}`);let a=n;if(!a.parse)throw new e.OreApiError(`Prop "${r}" must have a parse function. Use prop.* helpers.`);let o=a.reflect??!1;if(o&&t.isStructuredValue(a.default))throw new e.OreApiError(`Prop "${r}": ${e.ORE_ERRORS.propInvalidReflect}`);return{...a,reflect:o}}function o(e){let t=[];for(let[n,r]of Object.entries(e))try{a(r,n)}catch(e){t.push(e instanceof Error?e.message:String(e))}return t}var s=new WeakMap,c=(e,t)=>s.get(e)?.get(t),l=(e,i,a,o)=>{s.has(e)||s.set(e,new Map);let{default:c,parse:l,reflect:u=!1}=o,d=(0,r.signal)(c),f=Object.hasOwn(e,i),p=f?e[i]:void 0,m={parse:l,reflect:u,signal:d};return f?(delete e[i],d.value=typeof p==`string`?l(p):p):e.hasAttribute(a)&&(d.value=l(e.getAttribute(a))),s.get(e).set(a,m),Object.defineProperty(e,i,{configurable:!0,enumerable:!0,get:()=>d.value,set:e=>{d.value=typeof e==`string`?l(e):e}}),u&&n.effect(()=>{let n=d.value;n==null?e.removeAttribute(a):typeof n==`boolean`?e.toggleAttribute(a,n):t.setAttr(e,a,n)}),d};function u(e,n){let r={};for(let[i,a]of Object.entries(n))r[i]=l(e,i,t.toKebab(i),a);return r}exports.createProps=u,exports.getPropMeta=c,exports.normalizePropDefinition=a,exports.validatePropDefs=o;
1
+ require("./_dev.cjs");const e=require("./errors.cjs"),t=require("./utils/dom.cjs"),n=require("./runtime.cjs");let r=require("@vielzeug/ripple");var i=e=>typeof e==`object`&&!!e&&`default`in e&&`parse`in e;function a(n,r){if(!i(n))throw new e.OreApiError(`Prop "${r}" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof n}`);let a=n;if(!a.parse)throw new e.OreApiError(`Prop "${r}" must have a parse function. Use prop.* helpers.`);let o=a.reflect??!1;if(o&&t.isStructuredValue(a.default))throw new e.OreApiError(`Prop "${r}": ${e.ORE_ERRORS.propInvalidReflect}`);return{...a,reflect:o}}function o(e){let t=[];for(let[n,r]of Object.entries(e))try{a(r,n)}catch(e){t.push(e instanceof Error?e.message:String(e))}return t}var s=new WeakMap,c=(e,t)=>s.get(e)?.get(t),l=(e,t)=>typeof e==`string`?t(e):e,u=(i,a,o,c)=>{s.has(i)||s.set(i,new Map);let{default:u,parse:d,reflect:f=!1}=c,p=(0,r.signal)(u),m=Object.hasOwn(i,a),h=m?i[a]:void 0,g={parse:d,reflect:f,signal:p};m?(delete i[a],p.value=l(h,d)):i.hasAttribute(o)&&(p.value=d(i.getAttribute(o)));let _=s.get(i);return e.invariant(_,`propRegistry entry missing for <${i.localName}> — registerProp() must create it above`),_.set(o,g),Object.defineProperty(i,a,{configurable:!0,enumerable:!0,get:()=>p.value,set:e=>{p.value=l(e,d)}}),f&&n.watchEffect(()=>{let e=p.value;e==null?i.removeAttribute(o):typeof e==`boolean`?i.toggleAttribute(o,e):t.setAttr(i,o,e)}),p};function d(e,n){let r={};for(let[i,a]of Object.entries(n))r[i]=u(e,i,t.toKebab(i),a);return r}exports.createProps=d,exports.getPropMeta=c,exports.normalizePropDefinition=a,exports.validatePropDefs=o;
2
2
  //# sourceMappingURL=props.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.cjs","names":["t","e","n","o","r","a","i"],"sources":["../../../../ore/dist/props.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"./errors.js\";import{isStructuredValue as r,setAttr as i,toKebab as a}from\"./utils/dom.js\";import{effect as o}from\"./runtime.js\";import{signal as s}from\"@vielzeug/ripple\";function c(e){return{default:e,parse:()=>e,reflect:!1}}var l={bool(e){return{default:e??!1,parse:e=>e!==null&&e!==`false`,reflect:!0}},data(e){return c(e)},json(e){return{default:e,parse:t=>{if(t==null||t===``)return e;try{return JSON.parse(t)}catch{return e}},reflect:!1}},number(t){let n=t===void 0?void 0:t;return{default:n,parse:t=>{if(t==null)return n;let r=Number(t);return Number.isNaN(r)?(e(`prop.number(): attribute value \"${t}\" is not a valid number, using default (${String(n)})`),n):r},reflect:!0}},oneOf(e,t){return{default:t,parse:n=>n!=null&&e.includes(n)?n:t,reflect:!0}},string(e){let t=e===void 0?void 0:e;return{default:t,parse:e=>e??t,reflect:!0}}},u=e=>typeof e==`object`&&!!e&&`default`in e&&`parse`in e;function d(e,i){if(!u(e))throw new n(`Prop \"${i}\" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof e}`);let a=e;if(!a.parse)throw new n(`Prop \"${i}\" must have a parse function. Use prop.* helpers.`);let o=a.reflect??!1;if(o&&r(a.default))throw new n(`Prop \"${i}\": ${t.propInvalidReflect}`);return{...a,reflect:o}}function f(e){let t=[];for(let[n,r]of Object.entries(e))try{d(r,n)}catch(e){t.push(e instanceof Error?e.message:String(e))}return t}var p=new WeakMap,m=(e,t)=>p.get(e)?.get(t),h=(e,t,n,r)=>{p.has(e)||p.set(e,new Map);let{default:a,parse:c,reflect:l=!1}=r,u=s(a),d=Object.hasOwn(e,t),f=d?e[t]:void 0,m={parse:c,reflect:l,signal:u};return d?(delete e[t],u.value=typeof f==`string`?c(f):f):e.hasAttribute(n)&&(u.value=c(e.getAttribute(n))),p.get(e).set(n,m),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:()=>u.value,set:e=>{u.value=typeof e==`string`?c(e):e}}),l&&o(()=>{let t=u.value;t==null?e.removeAttribute(n):typeof t==`boolean`?e.toggleAttribute(n,t):i(e,n,t)}),u};function g(e,t){let n={};for(let[r,i]of Object.entries(t))n[r]=h(e,r,a(r),i);return n}export{g as createProps,m as getPropMeta,d as normalizePropDefinition,l as prop,f as validatePropDefs};\n//# sourceMappingURL=props.js.map"],"mappings":"gJAA+S,IAAsmB,EAAE,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,YAAY,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,IAAIE,EAAAA,YAAE,SAAS,EAAE,wEAAwE,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,IAAIA,EAAAA,YAAE,SAAS,EAAE,kDAAkD,EAAE,IAAIC,EAAE,EAAE,SAAS,CAAC,EAAE,GAAGA,GAAGC,EAAAA,kBAAE,EAAE,OAAO,EAAE,MAAM,IAAIF,EAAAA,YAAE,SAAS,EAAE,KAAKF,EAAAA,WAAE,oBAAoB,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,aAAa,MAAM,EAAE,QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,QAAQE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAA,EAAA,EAAA,OAAA,CAAIA,CAAC,EAAE,EAAE,OAAO,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAK,GAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,eAAe,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAGF,EAAAA,WAAM,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAEG,EAAAA,QAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAED,EAAAA,QAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC"}
1
+ {"version":3,"file":"props.cjs","names":["t","e","n","i","r","s","a","o"],"sources":["../../../../ore/dist/props.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{ORE_ERRORS as t,OreApiError as n,invariant as r}from\"./errors.js\";import{isStructuredValue as i,setAttr as a,toKebab as o}from\"./utils/dom.js\";import{watchEffect as s}from\"./runtime.js\";import{signal as c}from\"@vielzeug/ripple\";function l(e){return{default:e,parse:()=>e,reflect:!1}}var u={bool(e){return{default:e??!1,parse:e=>e!==null&&e!==`false`,reflect:!0}},data(e){return l(e)},json(e){return{default:e,parse:t=>{if(t==null||t===``)return e;try{return JSON.parse(t)}catch{return e}},reflect:!1}},number(t){let n=t===void 0?void 0:t;return{default:n,parse:t=>{if(t==null)return n;let r=Number(t);return Number.isNaN(r)?(e(`prop.number(): attribute value \"${t}\" is not a valid number, using default (${String(n)})`),n):r},reflect:!0}},oneOf(e,t){return{default:t,parse:n=>n!=null&&e.includes(n)?n:t,reflect:!0}},string(e){let t=e===void 0?void 0:e;return{default:t,parse:e=>e??t,reflect:!0}}},d=e=>typeof e==`object`&&!!e&&`default`in e&&`parse`in e;function f(e,r){if(!d(e))throw new n(`Prop \"${r}\" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof e}`);let a=e;if(!a.parse)throw new n(`Prop \"${r}\" must have a parse function. Use prop.* helpers.`);let o=a.reflect??!1;if(o&&i(a.default))throw new n(`Prop \"${r}\": ${t.propInvalidReflect}`);return{...a,reflect:o}}function p(e){let t=[];for(let[n,r]of Object.entries(e))try{f(r,n)}catch(e){t.push(e instanceof Error?e.message:String(e))}return t}var m=new WeakMap,h=(e,t)=>m.get(e)?.get(t),g=(e,t)=>typeof e==`string`?t(e):e,_=(e,t,n,i)=>{m.has(e)||m.set(e,new Map);let{default:o,parse:l,reflect:u=!1}=i,d=c(o),f=Object.hasOwn(e,t),p=f?e[t]:void 0,h={parse:l,reflect:u,signal:d};f?(delete e[t],d.value=g(p,l)):e.hasAttribute(n)&&(d.value=l(e.getAttribute(n)));let _=m.get(e);return r(_,`propRegistry entry missing for <${e.localName}> — registerProp() must create it above`),_.set(n,h),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:()=>d.value,set:e=>{d.value=g(e,l)}}),u&&s(()=>{let t=d.value;t==null?e.removeAttribute(n):typeof t==`boolean`?e.toggleAttribute(n,t):a(e,n,t)}),d};function v(e,t){let n={};for(let[r,i]of Object.entries(t))n[r]=_(e,r,o(r),i);return n}export{v as createProps,h as getPropMeta,f as normalizePropDefinition,u as prop,p as validatePropDefs};\n//# sourceMappingURL=props.js.map"],"mappings":"gJAAmU,IAAsmB,EAAE,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,YAAY,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,IAAIE,EAAAA,YAAE,SAAS,EAAE,wEAAwE,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,IAAIA,EAAAA,YAAE,SAAS,EAAE,kDAAkD,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,GAAGC,EAAAA,kBAAE,EAAE,OAAO,EAAE,MAAM,IAAID,EAAAA,YAAE,SAAS,EAAE,KAAKF,EAAAA,WAAE,oBAAoB,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,aAAa,MAAM,EAAE,QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAA,EAAA,EAAA,OAAA,CAAI,CAAC,EAAE,EAAE,OAAO,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAK,GAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,OAAOI,EAAAA,UAAE,EAAE,mCAAmC,EAAE,UAAU,wCAAwC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,eAAe,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAGC,EAAAA,gBAAM,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAEC,EAAAA,QAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAEC,EAAAA,QAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC"}
@@ -1,54 +1,56 @@
1
1
  import "./_dev.js";
2
- import { ORE_ERRORS as e, OreApiError as t } from "./errors.js";
3
- import { isStructuredValue as n, setAttr as r, toKebab as i } from "./utils/dom.js";
4
- import { effect as a } from "./runtime.js";
5
- import { signal as o } from "@vielzeug/ripple";
6
- var s = (e) => typeof e == "object" && !!e && "default" in e && "parse" in e;
7
- function c(r, i) {
8
- if (!s(r)) throw new t(`Prop "${i}" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof r}`);
9
- let a = r;
2
+ import { ORE_ERRORS as e, OreApiError as t, invariant as n } from "./errors.js";
3
+ import { isStructuredValue as r, setAttr as i, toKebab as a } from "./utils/dom.js";
4
+ import { watchEffect as o } from "./runtime.js";
5
+ import { signal as s } from "@vielzeug/ripple";
6
+ var c = (e) => typeof e == "object" && !!e && "default" in e && "parse" in e;
7
+ function l(n, i) {
8
+ if (!c(n)) throw new t(`Prop "${i}" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof n}`);
9
+ let a = n;
10
10
  if (!a.parse) throw new t(`Prop "${i}" must have a parse function. Use prop.* helpers.`);
11
11
  let o = a.reflect ?? !1;
12
- if (o && n(a.default)) throw new t(`Prop "${i}": ${e.propInvalidReflect}`);
12
+ if (o && r(a.default)) throw new t(`Prop "${i}": ${e.propInvalidReflect}`);
13
13
  return {
14
14
  ...a,
15
15
  reflect: o
16
16
  };
17
17
  }
18
- function l(e) {
18
+ function u(e) {
19
19
  let t = [];
20
20
  for (let [n, r] of Object.entries(e)) try {
21
- c(r, n);
21
+ l(r, n);
22
22
  } catch (e) {
23
23
  t.push(e instanceof Error ? e.message : String(e));
24
24
  }
25
25
  return t;
26
26
  }
27
- var u = /* @__PURE__ */ new WeakMap(), d = (e, t) => u.get(e)?.get(t), f = (e, t, n, i) => {
28
- u.has(e) || u.set(e, /* @__PURE__ */ new Map());
29
- let { default: s, parse: c, reflect: l = !1 } = i, d = o(s), f = Object.hasOwn(e, t), p = f ? e[t] : void 0, m = {
30
- parse: c,
31
- reflect: l,
32
- signal: d
27
+ var d = /* @__PURE__ */ new WeakMap(), f = (e, t) => d.get(e)?.get(t), p = (e, t) => typeof e == "string" ? t(e) : e, m = (e, t, r, a) => {
28
+ d.has(e) || d.set(e, /* @__PURE__ */ new Map());
29
+ let { default: c, parse: l, reflect: u = !1 } = a, f = s(c), m = Object.hasOwn(e, t), h = m ? e[t] : void 0, g = {
30
+ parse: l,
31
+ reflect: u,
32
+ signal: f
33
33
  };
34
- return f ? (delete e[t], d.value = typeof p == "string" ? c(p) : p) : e.hasAttribute(n) && (d.value = c(e.getAttribute(n))), u.get(e).set(n, m), Object.defineProperty(e, t, {
34
+ m ? (delete e[t], f.value = p(h, l)) : e.hasAttribute(r) && (f.value = l(e.getAttribute(r)));
35
+ let _ = d.get(e);
36
+ return n(_, `propRegistry entry missing for <${e.localName}> — registerProp() must create it above`), _.set(r, g), Object.defineProperty(e, t, {
35
37
  configurable: !0,
36
38
  enumerable: !0,
37
- get: () => d.value,
39
+ get: () => f.value,
38
40
  set: (e) => {
39
- d.value = typeof e == "string" ? c(e) : e;
41
+ f.value = p(e, l);
40
42
  }
41
- }), l && a(() => {
42
- let t = d.value;
43
- t == null ? e.removeAttribute(n) : typeof t == "boolean" ? e.toggleAttribute(n, t) : r(e, n, t);
44
- }), d;
43
+ }), u && o(() => {
44
+ let t = f.value;
45
+ t == null ? e.removeAttribute(r) : typeof t == "boolean" ? e.toggleAttribute(r, t) : i(e, r, t);
46
+ }), f;
45
47
  };
46
- function p(e, t) {
48
+ function h(e, t) {
47
49
  let n = {};
48
- for (let [r, a] of Object.entries(t)) n[r] = f(e, r, i(r), a);
50
+ for (let [r, i] of Object.entries(t)) n[r] = m(e, r, a(r), i);
49
51
  return n;
50
52
  }
51
53
  //#endregion
52
- export { p as createProps, d as getPropMeta, c as normalizePropDefinition, l as validatePropDefs };
54
+ export { h as createProps, f as getPropMeta, l as normalizePropDefinition, u as validatePropDefs };
53
55
 
54
56
  //# sourceMappingURL=props.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","names":["t","e","o","r","a","s","i"],"sources":["../../../../ore/dist/props.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"./errors.js\";import{isStructuredValue as r,setAttr as i,toKebab as a}from\"./utils/dom.js\";import{effect as o}from\"./runtime.js\";import{signal as s}from\"@vielzeug/ripple\";function c(e){return{default:e,parse:()=>e,reflect:!1}}var l={bool(e){return{default:e??!1,parse:e=>e!==null&&e!==`false`,reflect:!0}},data(e){return c(e)},json(e){return{default:e,parse:t=>{if(t==null||t===``)return e;try{return JSON.parse(t)}catch{return e}},reflect:!1}},number(t){let n=t===void 0?void 0:t;return{default:n,parse:t=>{if(t==null)return n;let r=Number(t);return Number.isNaN(r)?(e(`prop.number(): attribute value \"${t}\" is not a valid number, using default (${String(n)})`),n):r},reflect:!0}},oneOf(e,t){return{default:t,parse:n=>n!=null&&e.includes(n)?n:t,reflect:!0}},string(e){let t=e===void 0?void 0:e;return{default:t,parse:e=>e??t,reflect:!0}}},u=e=>typeof e==`object`&&!!e&&`default`in e&&`parse`in e;function d(e,i){if(!u(e))throw new n(`Prop \"${i}\" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof e}`);let a=e;if(!a.parse)throw new n(`Prop \"${i}\" must have a parse function. Use prop.* helpers.`);let o=a.reflect??!1;if(o&&r(a.default))throw new n(`Prop \"${i}\": ${t.propInvalidReflect}`);return{...a,reflect:o}}function f(e){let t=[];for(let[n,r]of Object.entries(e))try{d(r,n)}catch(e){t.push(e instanceof Error?e.message:String(e))}return t}var p=new WeakMap,m=(e,t)=>p.get(e)?.get(t),h=(e,t,n,r)=>{p.has(e)||p.set(e,new Map);let{default:a,parse:c,reflect:l=!1}=r,u=s(a),d=Object.hasOwn(e,t),f=d?e[t]:void 0,m={parse:c,reflect:l,signal:u};return d?(delete e[t],u.value=typeof f==`string`?c(f):f):e.hasAttribute(n)&&(u.value=c(e.getAttribute(n))),p.get(e).set(n,m),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:()=>u.value,set:e=>{u.value=typeof e==`string`?c(e):e}}),l&&o(()=>{let t=u.value;t==null?e.removeAttribute(n):typeof t==`boolean`?e.toggleAttribute(n,t):i(e,n,t)}),u};function g(e,t){let n={};for(let[r,i]of Object.entries(t))n[r]=h(e,r,a(r),i);return n}export{g as createProps,m as getPropMeta,d as normalizePropDefinition,l as prop,f as validatePropDefs};\n//# sourceMappingURL=props.js.map"],"mappings":";;;;;AAA+S,IAAsmB,KAAE,MAAG,OAAO,KAAG,YAAU,CAAC,CAAC,KAAG,aAAY,KAAG,WAAU;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,IAAG,CAAC,EAAE,CAAC,GAAE,MAAM,IAAI,EAAE,SAAS,EAAE,wEAAwE,OAAO,GAAG;CAAE,IAAI,IAAE;CAAE,IAAG,CAAC,EAAE,OAAM,MAAM,IAAI,EAAE,SAAS,EAAE,kDAAkD;CAAE,IAAIE,IAAE,EAAE,WAAS,CAAC;CAAE,IAAGA,KAAGC,EAAE,EAAE,OAAO,GAAE,MAAM,IAAI,EAAE,SAAS,EAAE,KAAKH,EAAE,oBAAoB;CAAE,OAAM;EAAC,GAAG;EAAE,SAAQE;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAI,IAAE,CAAC;CAAE,KAAI,IAAG,CAAC,GAAE,MAAK,OAAO,QAAQ,CAAC,GAAE,IAAG;EAAC,EAAE,GAAE,CAAC;CAAC,SAAO,GAAE;EAAC,EAAE,KAAK,aAAa,QAAM,EAAE,UAAQ,OAAO,CAAC,CAAC;CAAC;CAAC,OAAO;AAAC;AAAC,IAAI,oBAAE,IAAI,QAAM,GAAE,KAAG,GAAE,MAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAE,KAAG,GAAE,GAAE,GAAE,MAAI;CAAC,EAAE,IAAI,CAAC,KAAG,EAAE,IAAI,mBAAE,IAAI,IAAE,CAAC;CAAE,IAAG,EAAC,SAAQE,GAAE,OAAM,GAAE,SAAQ,IAAE,CAAC,MAAG,GAAE,IAAEC,EAAED,CAAC,GAAE,IAAE,OAAO,OAAO,GAAE,CAAC,GAAE,IAAE,IAAE,EAAE,KAAG,KAAK,GAAE,IAAE;EAAC,OAAM;EAAE,SAAQ;EAAE,QAAO;CAAC;CAAE,OAAO,KAAG,OAAO,EAAE,IAAG,EAAE,QAAM,OAAO,KAAG,WAAS,EAAE,CAAC,IAAE,KAAG,EAAE,aAAa,CAAC,MAAI,EAAE,QAAM,EAAE,EAAE,aAAa,CAAC,CAAC,IAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAE,CAAC,GAAE,OAAO,eAAe,GAAE,GAAE;EAAC,cAAa,CAAC;EAAE,YAAW,CAAC;EAAE,WAAQ,EAAE;EAAM,MAAI,MAAG;GAAC,EAAE,QAAM,OAAO,KAAG,WAAS,EAAE,CAAC,IAAE;EAAC;CAAC,CAAC,GAAE,KAAGF,QAAM;EAAC,IAAI,IAAE,EAAE;EAAM,KAAG,OAAK,EAAE,gBAAgB,CAAC,IAAE,OAAO,KAAG,YAAU,EAAE,gBAAgB,GAAE,CAAC,IAAEI,EAAE,GAAE,GAAE,CAAC;CAAC,CAAC,GAAE;AAAC;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,IAAI,IAAE,CAAC;CAAE,KAAI,IAAG,CAAC,GAAE,MAAK,OAAO,QAAQ,CAAC,GAAE,EAAE,KAAG,EAAE,GAAE,GAAEF,EAAE,CAAC,GAAE,CAAC;CAAE,OAAO;AAAC"}
1
+ {"version":3,"file":"props.js","names":["t","e","i","c","r","s","o"],"sources":["../../../../ore/dist/props.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{ORE_ERRORS as t,OreApiError as n,invariant as r}from\"./errors.js\";import{isStructuredValue as i,setAttr as a,toKebab as o}from\"./utils/dom.js\";import{watchEffect as s}from\"./runtime.js\";import{signal as c}from\"@vielzeug/ripple\";function l(e){return{default:e,parse:()=>e,reflect:!1}}var u={bool(e){return{default:e??!1,parse:e=>e!==null&&e!==`false`,reflect:!0}},data(e){return l(e)},json(e){return{default:e,parse:t=>{if(t==null||t===``)return e;try{return JSON.parse(t)}catch{return e}},reflect:!1}},number(t){let n=t===void 0?void 0:t;return{default:n,parse:t=>{if(t==null)return n;let r=Number(t);return Number.isNaN(r)?(e(`prop.number(): attribute value \"${t}\" is not a valid number, using default (${String(n)})`),n):r},reflect:!0}},oneOf(e,t){return{default:t,parse:n=>n!=null&&e.includes(n)?n:t,reflect:!0}},string(e){let t=e===void 0?void 0:e;return{default:t,parse:e=>e??t,reflect:!0}}},d=e=>typeof e==`object`&&!!e&&`default`in e&&`parse`in e;function f(e,r){if(!d(e))throw new n(`Prop \"${r}\" must use a prop.* helper (string/number/bool/json/oneOf). Received: ${typeof e}`);let a=e;if(!a.parse)throw new n(`Prop \"${r}\" must have a parse function. Use prop.* helpers.`);let o=a.reflect??!1;if(o&&i(a.default))throw new n(`Prop \"${r}\": ${t.propInvalidReflect}`);return{...a,reflect:o}}function p(e){let t=[];for(let[n,r]of Object.entries(e))try{f(r,n)}catch(e){t.push(e instanceof Error?e.message:String(e))}return t}var m=new WeakMap,h=(e,t)=>m.get(e)?.get(t),g=(e,t)=>typeof e==`string`?t(e):e,_=(e,t,n,i)=>{m.has(e)||m.set(e,new Map);let{default:o,parse:l,reflect:u=!1}=i,d=c(o),f=Object.hasOwn(e,t),p=f?e[t]:void 0,h={parse:l,reflect:u,signal:d};f?(delete e[t],d.value=g(p,l)):e.hasAttribute(n)&&(d.value=l(e.getAttribute(n)));let _=m.get(e);return r(_,`propRegistry entry missing for <${e.localName}> — registerProp() must create it above`),_.set(n,h),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:()=>d.value,set:e=>{d.value=g(e,l)}}),u&&s(()=>{let t=d.value;t==null?e.removeAttribute(n):typeof t==`boolean`?e.toggleAttribute(n,t):a(e,n,t)}),d};function v(e,t){let n={};for(let[r,i]of Object.entries(t))n[r]=_(e,r,o(r),i);return n}export{v as createProps,h as getPropMeta,f as normalizePropDefinition,u as prop,p as validatePropDefs};\n//# sourceMappingURL=props.js.map"],"mappings":";;;;;AAAmU,IAAsmB,KAAE,MAAG,OAAO,KAAG,YAAU,CAAC,CAAC,KAAG,aAAY,KAAG,WAAU;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,IAAG,CAAC,EAAE,CAAC,GAAE,MAAM,IAAI,EAAE,SAAS,EAAE,wEAAwE,OAAO,GAAG;CAAE,IAAI,IAAE;CAAE,IAAG,CAAC,EAAE,OAAM,MAAM,IAAI,EAAE,SAAS,EAAE,kDAAkD;CAAE,IAAI,IAAE,EAAE,WAAS,CAAC;CAAE,IAAG,KAAGE,EAAE,EAAE,OAAO,GAAE,MAAM,IAAI,EAAE,SAAS,EAAE,KAAKF,EAAE,oBAAoB;CAAE,OAAM;EAAC,GAAG;EAAE,SAAQ;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAI,IAAE,CAAC;CAAE,KAAI,IAAG,CAAC,GAAE,MAAK,OAAO,QAAQ,CAAC,GAAE,IAAG;EAAC,EAAE,GAAE,CAAC;CAAC,SAAO,GAAE;EAAC,EAAE,KAAK,aAAa,QAAM,EAAE,UAAQ,OAAO,CAAC,CAAC;CAAC;CAAC,OAAO;AAAC;AAAC,IAAI,oBAAE,IAAI,QAAM,GAAE,KAAG,GAAE,MAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAE,KAAG,GAAE,MAAI,OAAO,KAAG,WAAS,EAAE,CAAC,IAAE,GAAE,KAAG,GAAE,GAAE,GAAE,MAAI;CAAC,EAAE,IAAI,CAAC,KAAG,EAAE,IAAI,mBAAE,IAAI,IAAE,CAAC;CAAE,IAAG,EAAC,SAAQ,GAAE,OAAM,GAAE,SAAQ,IAAE,CAAC,MAAG,GAAE,IAAEG,EAAE,CAAC,GAAE,IAAE,OAAO,OAAO,GAAE,CAAC,GAAE,IAAE,IAAE,EAAE,KAAG,KAAK,GAAE,IAAE;EAAC,OAAM;EAAE,SAAQ;EAAE,QAAO;CAAC;CAAE,KAAG,OAAO,EAAE,IAAG,EAAE,QAAM,EAAE,GAAE,CAAC,KAAG,EAAE,aAAa,CAAC,MAAI,EAAE,QAAM,EAAE,EAAE,aAAa,CAAC,CAAC;CAAG,IAAI,IAAE,EAAE,IAAI,CAAC;CAAE,OAAOC,EAAE,GAAE,mCAAmC,EAAE,UAAU,wCAAwC,GAAE,EAAE,IAAI,GAAE,CAAC,GAAE,OAAO,eAAe,GAAE,GAAE;EAAC,cAAa,CAAC;EAAE,YAAW,CAAC;EAAE,WAAQ,EAAE;EAAM,MAAI,MAAG;GAAC,EAAE,QAAM,EAAE,GAAE,CAAC;EAAC;CAAC,CAAC,GAAE,KAAGC,QAAM;EAAC,IAAI,IAAE,EAAE;EAAM,KAAG,OAAK,EAAE,gBAAgB,CAAC,IAAE,OAAO,KAAG,YAAU,EAAE,gBAAgB,GAAE,CAAC,IAAE,EAAE,GAAE,GAAE,CAAC;CAAC,CAAC,GAAE;AAAC;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,IAAI,IAAE,CAAC;CAAE,KAAI,IAAG,CAAC,GAAE,MAAK,OAAO,QAAQ,CAAC,GAAE,EAAE,KAAG,EAAE,GAAE,GAAEC,EAAE,CAAC,GAAE,CAAC;CAAE,OAAO;AAAC"}
@@ -1,2 +1,2 @@
1
- const e=require("./errors.cjs"),t=require("./utils/dom.cjs");let n=require("@vielzeug/ripple");var r=null,i=(e,t)=>{let n=r;r=e;try{return t()}finally{r=n}},a=()=>r,o=e=>r?((0,n.onCleanup)(e),!0):!1,s=n.onCleanup,c=t=>{if(!r)throw new e.OreApiError(e.ORE_ERRORS.lifecycleOutsideSetup);r.mountCallbacks.push(t)},l=e=>{let t=(0,n.effect)(e),r=()=>t.dispose();return o(r),r};function u(n,i,a,s){if(!r)throw new e.OreApiError(e.ORE_ERRORS.lifecycleOutsideSetup);if(!n)return;let c=t.listen(n,i,a,s);o(c)||c()}var d=(e,t)=>l(()=>{let n=e.value;if(n)return t(n)});exports.effect=l,exports.getSetupContext=a,exports.onCleanup=s,exports.onElement=d,exports.onEvent=u,exports.onMounted=c,exports.runWithContext=i,exports.tryRegisterCleanup=o;
1
+ const e=require("./errors.cjs");require("./utils/dom.cjs");let t=require("@vielzeug/ripple");var n=null,r=(e,t)=>{let r=n;n=e;try{return t()}finally{n=r}},i=t=>{if(n)return n;throw new e.OreApiError(`${t}: ${e.ORE_ERRORS.lifecycleOutsideSetup}`)},a=()=>i(`getHost`).element,o=e=>n?((0,t.onCleanup)(e),!0):!1,s=t.onCleanup,c=e=>{let n=(0,t.effect)(e),r=()=>n.dispose();return o(r),r};exports.getHost=a,exports.onCleanup=s,exports.requireSetupContext=i,exports.runWithContext=r,exports.tryRegisterCleanup=o,exports.watchEffect=c;
2
2
  //# sourceMappingURL=runtime.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.cjs","names":["t","e","i","n"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=()=>a,c=()=>{if(a)return a.element;throw new t(e.lifecycleOutsideSetup)},l=e=>a?(i(e),!0):!1,u=i,d=n=>{if(!a)throw new t(e.lifecycleOutsideSetup);a.mountCallbacks.push(n)},f=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function p(r,i,o,s){if(!a)throw new t(e.lifecycleOutsideSetup);if(!r)return;let c=n(r,i,o,s);l(c)||c()}var m=(e,t)=>f(()=>{let n=e.value;if(n)return t(n)});export{f as effect,c as getCurrentElement,s as getSetupContext,u as onCleanup,m as onElement,p as onEvent,d as onMounted,o as runWithContext,l as tryRegisterCleanup};\n//# sourceMappingURL=runtime.js.map"],"mappings":"+FAA2J,IAAI,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAqE,EAAE,GAAG,IAAA,EAAA,EAAA,UAAA,CAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAEE,EAAAA,UAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,IAAIF,EAAAA,YAAEC,EAAAA,WAAE,qBAAqB,EAAE,EAAE,eAAe,KAAKE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,GAAA,EAAA,EAAA,OAAA,CAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,IAAIH,EAAAA,YAAEC,EAAAA,WAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,OAAO,IAAI,EAAEE,EAAAA,OAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime.cjs","names":["t","n","e","i"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=n=>{if(a)return a;throw new t(`${n}: ${e.lifecycleOutsideSetup}`)},c=()=>s(`getHost`).element,l=e=>a?(i(e),!0):!1,u=i,d=e=>{s(`onMounted`).mountCallbacks.push(e)},f=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function p(e,t,r,i){if(s(`onEvent`),!e)return;let a=n(e,t,r,i);l(a)||a()}var m=(e,t)=>f(()=>{let n=e.value;if(n)return t(n)});export{c as getHost,u as onCleanup,m as onElement,p as onEvent,d as onMounted,s as requireSetupContext,o as runWithContext,l as tryRegisterCleanup,f as watchEffect};\n//# sourceMappingURL=runtime.js.map"],"mappings":"6FAA2J,IAAI,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAIA,EAAAA,YAAE,GAAGC,EAAE,IAAIC,EAAAA,WAAE,uBAAuB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAA,EAAA,EAAA,UAAA,CAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAEC,EAAAA,UAA+C,EAAE,GAAG,CAAC,IAAI,GAAA,EAAA,EAAA,OAAA,CAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC"}
@@ -1,33 +1,23 @@
1
1
  import { ORE_ERRORS as e, OreApiError as t } from "./errors.js";
2
- import { listen as n } from "./utils/dom.js";
3
- import { effect as r, onCleanup as i } from "@vielzeug/ripple";
2
+ import "./utils/dom.js";
3
+ import { effect as n, onCleanup as r } from "@vielzeug/ripple";
4
4
  //#region ../ore/dist/runtime.js
5
- var a = null, o = (e, t) => {
6
- let n = a;
7
- a = e;
5
+ var i = null, a = (e, t) => {
6
+ let n = i;
7
+ i = e;
8
8
  try {
9
9
  return t();
10
10
  } finally {
11
- a = n;
11
+ i = n;
12
12
  }
13
- }, s = () => a, c = (e) => a ? (i(e), !0) : !1, l = i, u = (n) => {
14
- if (!a) throw new t(e.lifecycleOutsideSetup);
15
- a.mountCallbacks.push(n);
16
- }, d = (e) => {
17
- let t = r(e), n = () => t.dispose();
18
- return c(n), n;
13
+ }, o = (n) => {
14
+ if (i) return i;
15
+ throw new t(`${n}: ${e.lifecycleOutsideSetup}`);
16
+ }, s = () => o("getHost").element, c = (e) => i ? (r(e), !0) : !1, l = r, u = (e) => {
17
+ let t = n(e), r = () => t.dispose();
18
+ return c(r), r;
19
19
  };
20
- function f(r, i, o, s) {
21
- if (!a) throw new t(e.lifecycleOutsideSetup);
22
- if (!r) return;
23
- let l = n(r, i, o, s);
24
- c(l) || l();
25
- }
26
- var p = (e, t) => d(() => {
27
- let n = e.value;
28
- if (n) return t(n);
29
- });
30
20
  //#endregion
31
- export { d as effect, s as getSetupContext, l as onCleanup, p as onElement, f as onEvent, u as onMounted, o as runWithContext, c as tryRegisterCleanup };
21
+ export { s as getHost, l as onCleanup, o as requireSetupContext, a as runWithContext, c as tryRegisterCleanup, u as watchEffect };
32
22
 
33
23
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["t","e","i","n","r"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=()=>a,c=()=>{if(a)return a.element;throw new t(e.lifecycleOutsideSetup)},l=e=>a?(i(e),!0):!1,u=i,d=n=>{if(!a)throw new t(e.lifecycleOutsideSetup);a.mountCallbacks.push(n)},f=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function p(r,i,o,s){if(!a)throw new t(e.lifecycleOutsideSetup);if(!r)return;let c=n(r,i,o,s);l(c)||c()}var m=(e,t)=>f(()=>{let n=e.value;if(n)return t(n)});export{f as effect,c as getCurrentElement,s as getSetupContext,u as onCleanup,m as onElement,p as onEvent,d as onMounted,o as runWithContext,l as tryRegisterCleanup};\n//# sourceMappingURL=runtime.js.map"],"mappings":";;;;AAA2J,IAAI,IAAE,MAAK,KAAG,GAAE,MAAI;CAAC,IAAI,IAAE;CAAE,IAAE;CAAE,IAAG;EAAC,OAAO,EAAE;CAAC,UAAQ;EAAC,IAAE;CAAC;AAAC,GAAE,UAAM,GAAqE,KAAE,MAAG,KAAGE,EAAE,CAAC,GAAE,CAAC,KAAG,CAAC,GAAE,IAAEA,GAAE,KAAE,MAAG;CAAC,IAAG,CAAC,GAAE,MAAM,IAAIF,EAAEC,EAAE,qBAAqB;CAAE,EAAE,eAAe,KAAKE,CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,IAAI,IAAEC,EAAE,CAAC,GAAE,UAAM,EAAE,QAAQ;CAAE,OAAO,EAAE,CAAC,GAAE;AAAC;AAAE,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE;CAAC,IAAG,CAAC,GAAE,MAAM,IAAIJ,EAAEC,EAAE,qBAAqB;CAAE,IAAG,CAAC,GAAE;CAAO,IAAI,IAAEE,EAAE,GAAE,GAAE,GAAE,CAAC;CAAE,EAAE,CAAC,KAAG,EAAE;AAAC;AAAC,IAAI,KAAG,GAAE,MAAI,QAAM;CAAC,IAAI,IAAE,EAAE;CAAM,IAAG,GAAE,OAAO,EAAE,CAAC;AAAC,CAAC"}
1
+ {"version":3,"file":"runtime.js","names":["t","n","e","i","r"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=n=>{if(a)return a;throw new t(`${n}: ${e.lifecycleOutsideSetup}`)},c=()=>s(`getHost`).element,l=e=>a?(i(e),!0):!1,u=i,d=e=>{s(`onMounted`).mountCallbacks.push(e)},f=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function p(e,t,r,i){if(s(`onEvent`),!e)return;let a=n(e,t,r,i);l(a)||a()}var m=(e,t)=>f(()=>{let n=e.value;if(n)return t(n)});export{c as getHost,u as onCleanup,m as onElement,p as onEvent,d as onMounted,s as requireSetupContext,o as runWithContext,l as tryRegisterCleanup,f as watchEffect};\n//# sourceMappingURL=runtime.js.map"],"mappings":";;;;AAA2J,IAAI,IAAE,MAAK,KAAG,GAAE,MAAI;CAAC,IAAI,IAAE;CAAE,IAAE;CAAE,IAAG;EAAC,OAAO,EAAE;CAAC,UAAQ;EAAC,IAAE;CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,IAAG,GAAE,OAAO;CAAE,MAAM,IAAIA,EAAE,GAAGC,EAAE,IAAIC,EAAE,uBAAuB;AAAC,GAAE,UAAM,EAAE,SAAS,CAAC,CAAC,SAAQ,KAAE,MAAG,KAAGC,EAAE,CAAC,GAAE,CAAC,KAAG,CAAC,GAAE,IAAEA,GAA+C,KAAE,MAAG;CAAC,IAAI,IAAEC,EAAE,CAAC,GAAE,UAAM,EAAE,QAAQ;CAAE,OAAO,EAAE,CAAC,GAAE;AAAC"}
@@ -1 +1 @@
1
- require("../runtime.cjs"),require("../props.cjs"),require("../context-bag.cjs"),require("@vielzeug/ripple");
1
+ require("../runtime.cjs"),require("../props.cjs"),require("@vielzeug/ripple");
@@ -1,4 +1,3 @@
1
1
  import "../runtime.js";
2
2
  import "../props.js";
3
- import "../context-bag.js";
4
3
  import "@vielzeug/ripple";
@@ -1,2 +1,2 @@
1
- const e=require("../_dev.cjs");var t=e=>{for(let t=e.length-1;t>=0;t--)e[t]()},n=e=>{for(let t of e)t.remove()},r=new Set([`action`,`cite`,`codebase`,`data`,`formaction`,`href`,`manifest`,`ping`,`poster`,`src`,`xlink:href`]),i=/^\s*(?:(?:javascript|vbscript|blob):|data:(?:[^,]*\/(?:html|svg\+xml)|application\/(?:xhtml|xml)))/i,a=(t,n,a)=>{let o=n.toLowerCase();if(/^on[a-z]/i.test(n)){e.warn(`Blocked setAttribute("${n}", ...) — inline event handler attributes are not supported. Use @${n.slice(2)} binding syntax instead.`),t.removeAttribute(n);return}if(o===`srcdoc`){e.warn(`Blocked setAttribute("srcdoc", ...) — "srcdoc" holds raw HTML, not a URL, and is not supported via attribute binding. Use raw() with a registered sanitizer if you need to inject trusted HTML.`),t.removeAttribute(n);return}if(a==null||a===!1){t.removeAttribute(n);return}let s=a===!0?`true`:String(a);if(r.has(o)&&i.test(s)){e.warn(`Blocked dangerous URL scheme in attribute "${n}". Only safe URLs are permitted in URL-accepting attributes.`),t.removeAttribute(n);return}t.setAttribute(n,s)},o=(e,t,n,r)=>{if(!e)return()=>{};let i=n;return e.addEventListener(t,i,r),()=>e.removeEventListener(t,i,r)},s=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),c=e=>Array.isArray(e)||typeof e==`object`&&!!e;exports.isStructuredValue=c,exports.listen=o,exports.removeNodes=n,exports.runAll=t,exports.setAttr=a,exports.toKebab=s;
1
+ const e=require("../_dev.cjs");var t=e=>{for(let t=e.length-1;t>=0;t--)e[t]()},n=e=>{for(let t of e)t.remove()},r=new Set([`action`,`cite`,`codebase`,`data`,`formaction`,`href`,`manifest`,`ping`,`poster`,`src`,`xlink:href`]),i=/^\s*(?:(?:javascript|vbscript|blob):|data:(?:[^,]*\/(?:html|svg\+xml)|application\/(?:xhtml|xml)))/i,a=(t,n,a)=>{let o=n.toLowerCase();if(/^on[a-z]/i.test(n)){e.warn(`Blocked setAttribute("${n}", ...) — inline event handler attributes are not supported. Use @${n.slice(2)} binding syntax instead.`),t.removeAttribute(n);return}if(o===`srcdoc`){e.warn(`Blocked setAttribute("srcdoc", ...) — "srcdoc" holds raw HTML, not a URL, and is not supported via attribute binding. Use raw() with a registered sanitizer if you need to inject trusted HTML.`),t.removeAttribute(n);return}if(a==null||a===!1){t.removeAttribute(n);return}let s=a===!0?`true`:String(a);if(r.has(o)&&i.test(s)){e.warn(`Blocked dangerous URL scheme in attribute "${n}". Only safe URLs are permitted in URL-accepting attributes.`),t.removeAttribute(n);return}t.setAttribute(n,s)},o=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),s=e=>Array.isArray(e)||typeof e==`object`&&!!e;exports.isStructuredValue=s,exports.removeNodes=n,exports.runAll=t,exports.setAttr=a,exports.toKebab=o;
2
2
  //# sourceMappingURL=dom.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.cjs","names":[],"sources":["../../../../../ore/dist/utils/dom.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";var t=e=>{for(let t=e.length-1;t>=0;t--)e[t]()},n=e=>{for(let t of e)t.remove()},r=new Set([`action`,`cite`,`codebase`,`data`,`formaction`,`href`,`manifest`,`ping`,`poster`,`src`,`xlink:href`]),i=/^\\s*(?:(?:javascript|vbscript|blob):|data:(?:[^,]*\\/(?:html|svg\\+xml)|application\\/(?:xhtml|xml)))/i,a=(t,n,a)=>{let o=n.toLowerCase();if(/^on[a-z]/i.test(n)){e(`Blocked setAttribute(\"${n}\", ...) — inline event handler attributes are not supported. Use @${n.slice(2)} binding syntax instead.`),t.removeAttribute(n);return}if(o===`srcdoc`){e(`Blocked setAttribute(\"srcdoc\", ...) — \"srcdoc\" holds raw HTML, not a URL, and is not supported via attribute binding. Use raw() with a registered sanitizer if you need to inject trusted HTML.`),t.removeAttribute(n);return}if(a==null||a===!1){t.removeAttribute(n);return}let s=a===!0?`true`:String(a);if(r.has(o)&&i.test(s)){e(`Blocked dangerous URL scheme in attribute \"${n}\". Only safe URLs are permitted in URL-accepting attributes.`),t.removeAttribute(n);return}t.setAttribute(n,s)},o=(e,t,n,r)=>{if(!e)return()=>{};let i=n;return e.addEventListener(t,i,r),()=>e.removeEventListener(t,i,r)},s=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),c=e=>Array.isArray(e)||typeof e==`object`&&!!e;export{c as isStructuredValue,o as listen,n as removeNodes,t as runAll,a as setAttr,s as toKebab};\n//# sourceMappingURL=dom.js.map"],"mappings":"+BAAkC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,WAAW,OAAO,aAAa,OAAO,WAAW,OAAO,SAAS,MAAM,YAAY,CAAC,EAAE,EAAE,sGAAsG,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC,EAAA,KAAE,yBAAyB,EAAE,oEAAoE,EAAE,MAAM,CAAC,EAAE,yBAAyB,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,EAAA,KAAE,iMAAiM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,EAAA,KAAE,8CAA8C,EAAE,6DAA6D,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,SAAS,GAAG,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"dom.cjs","names":[],"sources":["../../../../../ore/dist/utils/dom.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";var t=e=>{for(let t=e.length-1;t>=0;t--)e[t]()},n=e=>{for(let t of e)t.remove()},r=new Set([`action`,`cite`,`codebase`,`data`,`formaction`,`href`,`manifest`,`ping`,`poster`,`src`,`xlink:href`]),i=/^\\s*(?:(?:javascript|vbscript|blob):|data:(?:[^,]*\\/(?:html|svg\\+xml)|application\\/(?:xhtml|xml)))/i,a=(t,n,a)=>{let o=n.toLowerCase();if(/^on[a-z]/i.test(n)){e(`Blocked setAttribute(\"${n}\", ...) — inline event handler attributes are not supported. Use @${n.slice(2)} binding syntax instead.`),t.removeAttribute(n);return}if(o===`srcdoc`){e(`Blocked setAttribute(\"srcdoc\", ...) — \"srcdoc\" holds raw HTML, not a URL, and is not supported via attribute binding. Use raw() with a registered sanitizer if you need to inject trusted HTML.`),t.removeAttribute(n);return}if(a==null||a===!1){t.removeAttribute(n);return}let s=a===!0?`true`:String(a);if(r.has(o)&&i.test(s)){e(`Blocked dangerous URL scheme in attribute \"${n}\". Only safe URLs are permitted in URL-accepting attributes.`),t.removeAttribute(n);return}t.setAttribute(n,s)},o=(e,t,n,r)=>{if(!e)return()=>{};let i=n;return e.addEventListener(t,i,r),()=>e.removeEventListener(t,i,r)},s=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),c=e=>Array.isArray(e)||typeof e==`object`&&!!e;export{c as isStructuredValue,o as listen,n as removeNodes,t as runAll,a as setAttr,s as toKebab};\n//# sourceMappingURL=dom.js.map"],"mappings":"+BAAkC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,WAAW,OAAO,aAAa,OAAO,WAAW,OAAO,SAAS,MAAM,YAAY,CAAC,EAAE,EAAE,sGAAsG,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC,EAAA,KAAE,yBAAyB,EAAE,oEAAoE,EAAE,MAAM,CAAC,EAAE,yBAAyB,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,EAAA,KAAE,iMAAiM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,EAAA,KAAE,8CAA8C,EAAE,6DAA6D,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAA8G,EAAE,GAAG,EAAE,QAAQ,SAAS,GAAG,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC"}
@@ -36,12 +36,8 @@ var t = (e) => {
36
36
  return;
37
37
  }
38
38
  t.setAttribute(n, s);
39
- }, o = (e, t, n, r) => {
40
- if (!e) return () => {};
41
- let i = n;
42
- return e.addEventListener(t, i, r), () => e.removeEventListener(t, i, r);
43
- }, s = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), c = (e) => Array.isArray(e) || typeof e == "object" && !!e;
39
+ }, o = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), s = (e) => Array.isArray(e) || typeof e == "object" && !!e;
44
40
  //#endregion
45
- export { c as isStructuredValue, o as listen, n as removeNodes, t as runAll, a as setAttr, s as toKebab };
41
+ export { s as isStructuredValue, n as removeNodes, t as runAll, a as setAttr, o as toKebab };
46
42
 
47
43
  //# sourceMappingURL=dom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","names":[],"sources":["../../../../../ore/dist/utils/dom.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";var t=e=>{for(let t=e.length-1;t>=0;t--)e[t]()},n=e=>{for(let t of e)t.remove()},r=new Set([`action`,`cite`,`codebase`,`data`,`formaction`,`href`,`manifest`,`ping`,`poster`,`src`,`xlink:href`]),i=/^\\s*(?:(?:javascript|vbscript|blob):|data:(?:[^,]*\\/(?:html|svg\\+xml)|application\\/(?:xhtml|xml)))/i,a=(t,n,a)=>{let o=n.toLowerCase();if(/^on[a-z]/i.test(n)){e(`Blocked setAttribute(\"${n}\", ...) — inline event handler attributes are not supported. Use @${n.slice(2)} binding syntax instead.`),t.removeAttribute(n);return}if(o===`srcdoc`){e(`Blocked setAttribute(\"srcdoc\", ...) — \"srcdoc\" holds raw HTML, not a URL, and is not supported via attribute binding. Use raw() with a registered sanitizer if you need to inject trusted HTML.`),t.removeAttribute(n);return}if(a==null||a===!1){t.removeAttribute(n);return}let s=a===!0?`true`:String(a);if(r.has(o)&&i.test(s)){e(`Blocked dangerous URL scheme in attribute \"${n}\". Only safe URLs are permitted in URL-accepting attributes.`),t.removeAttribute(n);return}t.setAttribute(n,s)},o=(e,t,n,r)=>{if(!e)return()=>{};let i=n;return e.addEventListener(t,i,r),()=>e.removeEventListener(t,i,r)},s=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),c=e=>Array.isArray(e)||typeof e==`object`&&!!e;export{c as isStructuredValue,o as listen,n as removeNodes,t as runAll,a as setAttr,s as toKebab};\n//# sourceMappingURL=dom.js.map"],"mappings":";;AAAkC,IAAI,KAAE,MAAG;CAAC,KAAI,IAAI,IAAE,EAAE,SAAO,GAAE,KAAG,GAAE,KAAI,EAAE,EAAE,CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,KAAI,IAAI,KAAK,GAAE,EAAE,OAAO;AAAC,GAAE,oBAAE,IAAI,IAAI;CAAC;CAAS;CAAO;CAAW;CAAO;CAAa;CAAO;CAAW;CAAO;CAAS;CAAM;AAAY,CAAC,GAAE,IAAE,uGAAsG,KAAG,GAAE,GAAE,MAAI;CAAC,IAAI,IAAE,EAAE,YAAY;CAAE,IAAG,YAAY,KAAK,CAAC,GAAE;EAAC,EAAE,yBAAyB,EAAE,oEAAoE,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAE,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,IAAG,MAAI,UAAS;EAAC,EAAE,qMAAiM,GAAE,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,IAAG,KAAG,QAAM,MAAI,CAAC,GAAE;EAAC,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,IAAI,IAAE,MAAI,CAAC,IAAE,SAAO,OAAO,CAAC;CAAE,IAAG,EAAE,IAAI,CAAC,KAAG,EAAE,KAAK,CAAC,GAAE;EAAC,EAAE,8CAA8C,EAAE,6DAA6D,GAAE,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,EAAE,aAAa,GAAE,CAAC;AAAC,GAAE,KAAG,GAAE,GAAE,GAAE,MAAI;CAAC,IAAG,CAAC,GAAE,aAAU,CAAC;CAAE,IAAI,IAAE;CAAE,OAAO,EAAE,iBAAiB,GAAE,GAAE,CAAC,SAAM,EAAE,oBAAoB,GAAE,GAAE,CAAC;AAAC,GAAE,KAAE,MAAG,EAAE,QAAQ,WAAS,MAAG,IAAI,EAAE,YAAY,GAAG,GAAE,KAAE,MAAG,MAAM,QAAQ,CAAC,KAAG,OAAO,KAAG,YAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"dom.js","names":[],"sources":["../../../../../ore/dist/utils/dom.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";var t=e=>{for(let t=e.length-1;t>=0;t--)e[t]()},n=e=>{for(let t of e)t.remove()},r=new Set([`action`,`cite`,`codebase`,`data`,`formaction`,`href`,`manifest`,`ping`,`poster`,`src`,`xlink:href`]),i=/^\\s*(?:(?:javascript|vbscript|blob):|data:(?:[^,]*\\/(?:html|svg\\+xml)|application\\/(?:xhtml|xml)))/i,a=(t,n,a)=>{let o=n.toLowerCase();if(/^on[a-z]/i.test(n)){e(`Blocked setAttribute(\"${n}\", ...) — inline event handler attributes are not supported. Use @${n.slice(2)} binding syntax instead.`),t.removeAttribute(n);return}if(o===`srcdoc`){e(`Blocked setAttribute(\"srcdoc\", ...) — \"srcdoc\" holds raw HTML, not a URL, and is not supported via attribute binding. Use raw() with a registered sanitizer if you need to inject trusted HTML.`),t.removeAttribute(n);return}if(a==null||a===!1){t.removeAttribute(n);return}let s=a===!0?`true`:String(a);if(r.has(o)&&i.test(s)){e(`Blocked dangerous URL scheme in attribute \"${n}\". Only safe URLs are permitted in URL-accepting attributes.`),t.removeAttribute(n);return}t.setAttribute(n,s)},o=(e,t,n,r)=>{if(!e)return()=>{};let i=n;return e.addEventListener(t,i,r),()=>e.removeEventListener(t,i,r)},s=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),c=e=>Array.isArray(e)||typeof e==`object`&&!!e;export{c as isStructuredValue,o as listen,n as removeNodes,t as runAll,a as setAttr,s as toKebab};\n//# sourceMappingURL=dom.js.map"],"mappings":";;AAAkC,IAAI,KAAE,MAAG;CAAC,KAAI,IAAI,IAAE,EAAE,SAAO,GAAE,KAAG,GAAE,KAAI,EAAE,EAAE,CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,KAAI,IAAI,KAAK,GAAE,EAAE,OAAO;AAAC,GAAE,oBAAE,IAAI,IAAI;CAAC;CAAS;CAAO;CAAW;CAAO;CAAa;CAAO;CAAW;CAAO;CAAS;CAAM;AAAY,CAAC,GAAE,IAAE,uGAAsG,KAAG,GAAE,GAAE,MAAI;CAAC,IAAI,IAAE,EAAE,YAAY;CAAE,IAAG,YAAY,KAAK,CAAC,GAAE;EAAC,EAAE,yBAAyB,EAAE,oEAAoE,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAE,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,IAAG,MAAI,UAAS;EAAC,EAAE,qMAAiM,GAAE,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,IAAG,KAAG,QAAM,MAAI,CAAC,GAAE;EAAC,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,IAAI,IAAE,MAAI,CAAC,IAAE,SAAO,OAAO,CAAC;CAAE,IAAG,EAAE,IAAI,CAAC,KAAG,EAAE,KAAK,CAAC,GAAE;EAAC,EAAE,8CAA8C,EAAE,6DAA6D,GAAE,EAAE,gBAAgB,CAAC;EAAE;CAAM;CAAC,EAAE,aAAa,GAAE,CAAC;AAAC,GAA8G,KAAE,MAAG,EAAE,QAAQ,WAAS,MAAG,IAAI,EAAE,YAAY,GAAG,GAAE,KAAE,MAAG,MAAM,QAAQ,CAAC,KAAG,OAAO,KAAG,YAAU,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/shape.css.cjs"),t=require("./styles/mixins/theme.css.cjs"),n=require("./shared/prop-bundles.cjs"),r=require("./headless/nav.cjs"),i=require("./inputs/shared/form-context.cjs"),a=require("./inputs/otp-input/otp-input.css?inline.cjs");let o=require("@vielzeug/ore"),s=require("@vielzeug/ripple");var c=`ore-otp-input`;(0,o.define)(c,{formAssociated:!0,props:{...n.themableBundle,...n.sizableBundle,...n.disablableBundle,label:o.prop.string(`One-time password`),length:o.prop.number(6),masked:o.prop.bool(!1),name:o.prop.string(),separator:o.prop.string(),type:o.prop.oneOf([`numeric`,`alphanumeric`],`numeric`),value:o.prop.string(),variant:o.prop.string()},setup(e,{bind:t,el:n,emit:a,onMounted:c}){let l=i.useFormContext(t,e,(0,o.inject)(i.FORM_CTX)),u=(0,s.computed)(()=>Number(e.length.value)||6),d=l.disabled,f=(0,s.computed)(()=>Array.from({length:u.value},(e,t)=>t)),p=(0,s.signal)(String(e.value.value||``)),m=()=>String(e.value.value||``);(0,o.useField)({disabled:d,toFormValue:e=>e,value:p}),t({attr:{size:l.size,value:()=>p.value||null,variant:l.variant}});function h(){return[...n.shadowRoot?.querySelectorAll(`input.cell`)??[]]}let g=r.createListControl({getItems:()=>h(),keys:{next:[`ArrowRight`],prev:[`ArrowLeft`]},loop:!1,onNavigate:(e,t)=>{h()[t]?.focus()}});function _(){return h().map(e=>e.value).join(``)}function v(e){let t=h(),n=String(e||``).slice(0,t.length);for(let e of t)e.value=``;n.split(``).forEach((e,n)=>{t[n]&&(t[n].value=e)}),p.value=_()}function y(e,t){let n=h(),r=_(),i=t??(r.length===n.length&&r.split(``).every(Boolean));p.value=r,a(`change`,{complete:i,originalEvent:e,value:r}),i&&a(`complete`,{originalEvent:e,value:r})}function b(t){return e.type.value===`numeric`?/^\d$/.test(t):/^[a-z\d]$/i.test(t)}function x(e,t){let n=e.target,r=n.value;if(r.length>1&&(r=r.slice(-1)),r&&!b(r)){n.value=``;return}n.value=r;let i=h();y(e),r&&t<i.length-1&&(i[t+1].focus(),i[t+1].select())}function S(e,t){let n=e.target,r=h();if(g.set(t),e.key===`Backspace`){if(n.value)n.value=``;else if(t>0){let e=r[g.navigate(`prev`)];e&&(e.select(),e.value=``)}y(e,!1),e.preventDefault()}else g.handleKeydown(e)}function C(e){e.preventDefault();let t=(e.clipboardData?.getData(`text`)??``).split(``).filter(e=>b(e)).slice(0,u.value),n=h();t.forEach((e,t)=>{n[t]&&(n[t].value=e)}),y(e),n[Math.min(t.length,n.length-1)]?.focus()}(0,s.watch)(e.value,e=>{v(String(e||``))}),(0,s.watch)(e.length,()=>{requestAnimationFrame(()=>v(m()))});let w=(0,s.computed)(()=>{let t=Number(e.length.value)||6;return e.separator.value==null?-1:Math.floor(t/2)});return c(()=>{v(m())}),o.html`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/shape.css.cjs"),t=require("./styles/mixins/theme.css.cjs"),n=require("./shared/prop-bundles.cjs"),r=require("./headless/nav.cjs"),i=require("./ore/dist/forms/field.cjs");require("./ore/dist/forms.cjs");const a=require("./inputs/shared/form-context.cjs"),o=require("./inputs/otp-input/otp-input.css.cjs");let s=require("@vielzeug/ore"),c=require("@vielzeug/ripple");var l=`ore-otp-input`;(0,s.define)(l,{formAssociated:!0,props:{...n.themableBundle,...n.sizableBundle,...n.disablableBundle,label:s.prop.string(`One-time password`),length:s.prop.number(6),masked:s.prop.bool(!1),name:s.prop.string(),separator:s.prop.string(),type:s.prop.oneOf([`numeric`,`alphanumeric`],`numeric`),value:s.prop.string(),variant:s.prop.string()},setup(e){let t=(0,s.getHost)(),n=(0,s.useEmit)(),o=a.useFormContext(e,(0,s.inject)(a.FORM_CTX)),l=(0,c.computed)(()=>Number(e.length.value)||6),u=o.disabled,d=(0,c.computed)(()=>Array.from({length:l.value},(e,t)=>t)),f=(0,c.signal)(String(e.value.value||``)),p=()=>String(e.value.value||``);i.useField({disabled:u,toFormValue:e=>e,value:f}),(0,s.bind)({attr:{size:o.size,value:()=>f.value||null,variant:o.variant}});function m(){return[...t.shadowRoot?.querySelectorAll(`input.cell`)??[]]}let h=r.createListControl({getItems:()=>m(),keys:{next:[`ArrowRight`],prev:[`ArrowLeft`]},loop:!1,onNavigate:(e,t)=>{m()[t]?.focus()}});function g(){return m().map(e=>e.value).join(``)}function _(e){let t=m(),n=String(e||``).slice(0,t.length);for(let e of t)e.value=``;n.split(``).forEach((e,n)=>{t[n]&&(t[n].value=e)}),f.value=g()}function v(e,t){let r=m(),i=g(),a=t??(i.length===r.length&&i.split(``).every(Boolean));f.value=i,n(`change`,{complete:a,originalEvent:e,value:i}),a&&n(`complete`,{originalEvent:e,value:i})}function y(t){return e.type.value===`numeric`?/^\d$/.test(t):/^[a-z\d]$/i.test(t)}function b(e,t){let n=e.target,r=n.value;if(r.length>1&&(r=r.slice(-1)),r&&!y(r)){n.value=``;return}n.value=r;let i=m();v(e),r&&t<i.length-1&&(i[t+1].focus(),i[t+1].select())}function x(e,t){let n=e.target,r=m();if(h.set(t),e.key===`Backspace`){if(n.value)n.value=``;else if(t>0){let e=r[h.navigate(`prev`)];e&&(e.select(),e.value=``)}v(e,!1),e.preventDefault()}else h.handleKeydown(e)}function S(e){e.preventDefault();let t=(e.clipboardData?.getData(`text`)??``).split(``).filter(e=>y(e)).slice(0,l.value),n=m();t.forEach((e,t)=>{n[t]&&(n[t].value=e)}),v(e),n[Math.min(t.length,n.length-1)]?.focus()}(0,c.watch)(e.value,e=>{_(String(e||``))}),(0,c.watch)(e.length,()=>{requestAnimationFrame(()=>_(p()))});let C=(0,c.computed)(()=>{let t=Number(e.length.value)||6;return e.separator.value==null?-1:Math.floor(t/2)});return(0,s.onMounted)(()=>{_(p())}),s.html`
2
2
  <div class="otp-group" part="group" role="group" :aria-label="${e.label}">
3
- ${()=>f.value.map(t=>o.html`
4
- ${()=>w.value>0&&t===w.value?o.html`<span class="separator" aria-hidden="true">${()=>e.separator.value||`-`}</span>`:``}
3
+ ${()=>d.value.map(t=>s.html`
4
+ ${()=>C.value>0&&t===C.value?s.html`<span class="separator" aria-hidden="true">${()=>e.separator.value||`-`}</span>`:``}
5
5
  <input
6
6
  class="cell"
7
7
  part="cell"
@@ -9,13 +9,13 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
9
9
  :inputmode="${()=>e.type.value===`numeric`?`numeric`:`text`}"
10
10
  maxlength="1"
11
11
  :autocomplete="${()=>t===0?`one-time-code`:`off`}"
12
- :aria-label="${()=>`Digit ${t+1} of ${u.value}`}"
13
- :disabled="${()=>d.value?!0:null}"
14
- @input="${e=>x(e,t)}"
15
- @keydown="${e=>S(e,t)}"
16
- @paste="${e=>t===0?C(e):e.preventDefault()}"
12
+ :aria-label="${()=>`Digit ${t+1} of ${l.value}`}"
13
+ :disabled="${()=>u.value?!0:null}"
14
+ @input="${e=>b(e,t)}"
15
+ @keydown="${e=>x(e,t)}"
16
+ @paste="${e=>t===0?S(e):e.preventDefault()}"
17
17
  @focus="${e=>e.target.select()}" />
18
18
  `)}
19
19
  </div>
20
- `},styles:[t.colorThemeMixin,e.sizeVariantMixin({}),t.forcedColorsFocusMixin(`.cell`),a.default]}),exports.OTP_INPUT_TAG=c;
20
+ `},styles:[t.colorThemeMixin,e.sizeVariantMixin({}),t.forcedColorsFocusMixin(`.cell`),o.default]}),exports.OTP_INPUT_TAG=l;
21
21
  //# sourceMappingURL=otp-input.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"otp-input.cjs","names":[],"sources":["../src/inputs/otp-input/otp-input.ts"],"sourcesContent":["import { define, useField, html, inject, prop } from '@vielzeug/ore';\nimport { computed, signal, watch } from '@vielzeug/ripple';\n\nimport type { ComponentSize, ThemeColor, VisualVariant } from '../../types';\n\nimport { createListControl } from '../../headless';\nimport { disablableBundle, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, forcedColorsFocusMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport styles from './otp-input.css?inline';\n\nexport type OreOtpInputEvents = {\n change: { complete: boolean; originalEvent?: Event; value: string };\n complete: { originalEvent?: Event; value: string };\n};\n\n/** OTP Input props */\nexport type OreOtpInputProps = {\n /** Theme color */\n color?: ThemeColor;\n /** Make inputs disabled */\n disabled?: boolean;\n /** Accessible label */\n label?: string;\n /** Number of input cells */\n length?: number;\n /** Mask input (show dots instead of characters) */\n masked?: boolean;\n /** Form field name */\n name?: string;\n /** Show a separator in the middle (e.g. \"–\") */\n separator?: string;\n /** Component size */\n size?: ComponentSize;\n /** Input type: 'numeric' (digits only) or 'alphanumeric' */\n type?: 'numeric' | 'alphanumeric';\n /** Current value */\n value?: string;\n /** Visual variant */\n variant?: Exclude<VisualVariant, 'text' | 'frost'>;\n};\n\n/**\n * A segmented OTP (One-Time Password) input with N individual cells.\n * Auto-advances focus on input, auto-backs on Backspace, handles paste.\n *\n * @element ore-otp-input\n *\n * @attr {number} length - Number of cells (default: 6)\n * @attr {string} type - 'numeric' (default) | 'alphanumeric'\n * @attr {string} value - Current code value\n * @attr {boolean} disabled - Disable all cells\n * @attr {boolean} masked - Show as password\n * @attr {string} size - 'sm' | 'md' | 'lg'\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} name - Form field name\n * @attr {string} label - Group aria-label\n * @attr {string} separator - Optional separator character shown in the middle\n *\n * @fires change - Emitted whenever a cell changes. detail: { value: string, complete: boolean, originalEvent?: Event }\n * @fires complete - Emitted when all cells are filled. detail: { value: string, originalEvent?: Event }\n *\n * @slot label - Custom label above the OTP input\n * @slot helper - Custom helper text below the OTP input\n * @slot error - Custom error content below the OTP input\n *\n * @cssprop --otp-cell-size - Width and height of each cell\n * @cssprop --otp-cell-gap - Gap between cells\n * @cssprop --otp-cell-font-size - Font size inside cells\n * @cssprop --otp-cell-radius - Border radius of cells\n * @cssprop --otp-cell-bg - Cell background color\n * @cssprop --otp-cell-border-color - Default border color\n * @cssprop --otp-cell-focus-border - Focused border/caret color\n * @cssprop --otp-cell-hover-bg - Cell background on hover (flat/ghost variants)\n * @cssprop --otp-cell-hover-border-color - Cell border on hover (flat/bordered variants)\n * @cssprop --otp-cell-focus-bg - Cell background when focused (flat variant)\n * @cssprop --otp-cell-focus-border-color - Cell border when focused (flat variant)\n *\n * @part group - Group container.\n * @part cell - Shadow part for the `cell` element.\n * @example\n * ```html\n * <ore-otp-input length=\"6\" color=\"primary\"></ore-otp-input>\n * ```\n */\nexport const OTP_INPUT_TAG = 'ore-otp-input' as const;\ndefine<OreOtpInputProps, OreOtpInputEvents>(OTP_INPUT_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n label: prop.string('One-time password'),\n length: prop.number(6),\n masked: prop.bool(false),\n name: prop.string(),\n separator: prop.string(),\n type: prop.oneOf(['numeric', 'alphanumeric'] as const, 'numeric'),\n value: prop.string(),\n variant: prop.string<Exclude<VisualVariant, 'text' | 'frost'>>(),\n },\n setup(props, { bind, el, emit, onMounted }) {\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(bind, props, formCtx);\n const lengthValue = computed(() => Number(props.length.value) || 6);\n const isDisabled = fCtxProps.disabled;\n const cells = computed(() => Array.from({ length: lengthValue.value }, (_, i) => i));\n const otpValue = signal(String(props.value.value || ''));\n const normalizedPropValue = () => String(props.value.value || '');\n\n // Form association: the joined cell value is the single form value for `name`,\n // since individual per-cell <input> elements inside the shadow root cannot\n // participate in an ancestor <form>'s submission on their own.\n useField<string>({ disabled: isDisabled, toFormValue: (v) => v, value: otpValue });\n\n bind({\n attr: {\n size: fCtxProps.size,\n value: () => otpValue.value || null,\n variant: fCtxProps.variant,\n },\n });\n\n function getInputs(): HTMLInputElement[] {\n return [...(el.shadowRoot?.querySelectorAll<HTMLInputElement>('input.cell') ?? [])];\n }\n\n const listControl = createListControl({\n getItems: () => getInputs(),\n keys: { next: ['ArrowRight'], prev: ['ArrowLeft'] },\n loop: false,\n onNavigate: (_action, index) => {\n const inputs = getInputs();\n\n inputs[index]?.focus();\n },\n });\n\n function getValue(): string {\n return getInputs()\n .map((i) => i.value)\n .join('');\n }\n function syncInputsFromValue(raw: string) {\n const allInputs = getInputs();\n const normalized = String(raw || '').slice(0, allInputs.length);\n\n for (const input of allInputs) input.value = '';\n\n normalized.split('').forEach((c, i) => {\n if (allInputs[i]) allInputs[i].value = c;\n });\n\n otpValue.value = getValue();\n }\n function emitOtpState(originalEvent?: Event, forceComplete?: boolean): void {\n const allInputs = getInputs();\n const full = getValue();\n const complete = forceComplete ?? (full.length === allInputs.length && full.split('').every(Boolean));\n\n otpValue.value = full;\n emit('change', { complete, originalEvent, value: full });\n\n if (complete) emit('complete', { originalEvent, value: full });\n }\n function isAllowed(char: string): boolean {\n if (props.type.value === 'numeric') return /^\\d$/.test(char);\n\n return /^[a-z\\d]$/i.test(char);\n }\n function handleInput(e: Event, index: number) {\n const input = e.target as HTMLInputElement;\n let val = input.value;\n\n // Keep only last character if multiple were typed somehow\n if (val.length > 1) val = val.slice(-1);\n\n // Validate character\n if (val && !isAllowed(val)) {\n input.value = '';\n\n return;\n }\n\n input.value = val;\n\n const allInputs = getInputs();\n\n emitOtpState(e);\n\n // Auto-advance\n if (val && index < allInputs.length - 1) {\n allInputs[index + 1].focus();\n allInputs[index + 1].select();\n }\n }\n function handleKeydown(e: KeyboardEvent, index: number) {\n const input = e.target as HTMLInputElement;\n const allInputs = getInputs();\n\n listControl.set(index);\n\n if (e.key === 'Backspace') {\n if (input.value) {\n input.value = '';\n } else if (index > 0) {\n const prevIndex = listControl.navigate('prev');\n const prevInput = allInputs[prevIndex];\n\n if (prevInput) {\n prevInput.select();\n prevInput.value = '';\n }\n }\n\n emitOtpState(e, false);\n e.preventDefault();\n } else {\n listControl.handleKeydown(e);\n }\n }\n function handlePaste(e: ClipboardEvent) {\n e.preventDefault();\n\n const pasted = e.clipboardData?.getData('text') ?? '';\n const chars = pasted\n .split('')\n .filter((c) => isAllowed(c))\n .slice(0, lengthValue.value);\n const allInputs = getInputs();\n\n chars.forEach((char, i) => {\n if (allInputs[i]) allInputs[i].value = char;\n });\n\n emitOtpState(e);\n\n // Focus the cell after last pasted char\n const focusIdx = Math.min(chars.length, allInputs.length - 1);\n\n allInputs[focusIdx]?.focus();\n }\n\n watch(props.value, (value) => {\n syncInputsFromValue(String(value || ''));\n });\n\n watch(props.length, () => {\n // Cells re-render when length changes; sync after DOM updates.\n requestAnimationFrame(() => syncInputsFromValue(normalizedPropValue()));\n });\n\n const separatorIdx = computed(() => {\n const len = Number(props.length.value) || 6;\n\n return props.separator.value != null ? Math.floor(len / 2) : -1;\n });\n\n onMounted(() => {\n // Populate cells from value prop on mount\n syncInputsFromValue(normalizedPropValue());\n });\n\n return html`\n <div class=\"otp-group\" part=\"group\" role=\"group\" :aria-label=\"${props.label}\">\n ${() =>\n cells.value.map(\n (i) => html`\n ${() =>\n separatorIdx.value > 0 && i === separatorIdx.value\n ? html`<span class=\"separator\" aria-hidden=\"true\">${() => props.separator.value || '-'}</span>`\n : ''}\n <input\n class=\"cell\"\n part=\"cell\"\n :type=\"${() => (props.masked.value ? 'password' : 'text')}\"\n :inputmode=\"${() => (props.type.value === 'numeric' ? 'numeric' : 'text')}\"\n maxlength=\"1\"\n :autocomplete=\"${() => (i === 0 ? 'one-time-code' : 'off')}\"\n :aria-label=\"${() => `Digit ${i + 1} of ${lengthValue.value}`}\"\n :disabled=\"${() => (isDisabled.value ? true : null)}\"\n @input=\"${(e: Event) => handleInput(e, i)}\"\n @keydown=\"${(e: KeyboardEvent) => handleKeydown(e, i)}\"\n @paste=\"${(e: ClipboardEvent) => (i === 0 ? handlePaste(e) : e.preventDefault())}\"\n @focus=\"${(e: FocusEvent) => (e.target as HTMLInputElement).select()}\" />\n `,\n )}\n </div>\n `;\n },\n styles: [colorThemeMixin, sizeVariantMixin({}), forcedColorsFocusMixin('.cell'), styles],\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"otp-input.cjs","names":[],"sources":["../src/inputs/otp-input/otp-input.ts"],"sourcesContent":["import { define, html, inject, prop, bind, getHost, onMounted, useEmit } from '@vielzeug/ore';\nimport { useField } from '@vielzeug/ore/forms';\nimport { computed, signal, watch } from '@vielzeug/ripple';\n\nimport type { ComponentSize, ThemeColor, VisualVariant } from '../../types';\n\nimport { createListControl } from '../../headless';\nimport { disablableBundle, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, forcedColorsFocusMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport styles from './otp-input.css?inline';\n\nexport type OreOtpInputEvents = {\n change: { complete: boolean; originalEvent?: Event; value: string };\n complete: { originalEvent?: Event; value: string };\n};\n\n/** OTP Input props */\nexport type OreOtpInputProps = {\n /** Theme color */\n color?: ThemeColor;\n /** Make inputs disabled */\n disabled?: boolean;\n /** Accessible label */\n label?: string;\n /** Number of input cells */\n length?: number;\n /** Mask input (show dots instead of characters) */\n masked?: boolean;\n /** Form field name */\n name?: string;\n /** Show a separator in the middle (e.g. \"–\") */\n separator?: string;\n /** Component size */\n size?: ComponentSize;\n /** Input type: 'numeric' (digits only) or 'alphanumeric' */\n type?: 'numeric' | 'alphanumeric';\n /** Current value */\n value?: string;\n /** Visual variant */\n variant?: Exclude<VisualVariant, 'text' | 'frost'>;\n};\n\n/**\n * A segmented OTP (One-Time Password) input with N individual cells.\n * Auto-advances focus on input, auto-backs on Backspace, handles paste.\n *\n * @element ore-otp-input\n *\n * @attr {number} length - Number of cells (default: 6)\n * @attr {string} type - 'numeric' (default) | 'alphanumeric'\n * @attr {string} value - Current code value\n * @attr {boolean} disabled - Disable all cells\n * @attr {boolean} masked - Show as password\n * @attr {string} size - 'sm' | 'md' | 'lg'\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} name - Form field name\n * @attr {string} label - Group aria-label\n * @attr {string} separator - Optional separator character shown in the middle\n *\n * @fires change - Emitted whenever a cell changes. detail: { value: string, complete: boolean, originalEvent?: Event }\n * @fires complete - Emitted when all cells are filled. detail: { value: string, originalEvent?: Event }\n *\n * @slot label - Custom label above the OTP input\n * @slot helper - Custom helper text below the OTP input\n * @slot error - Custom error content below the OTP input\n *\n * @cssprop --otp-cell-size - Width and height of each cell\n * @cssprop --otp-cell-gap - Gap between cells\n * @cssprop --otp-cell-font-size - Font size inside cells\n * @cssprop --otp-cell-radius - Border radius of cells\n * @cssprop --otp-cell-bg - Cell background color\n * @cssprop --otp-cell-border-color - Default border color\n * @cssprop --otp-cell-focus-border - Focused border/caret color\n * @cssprop --otp-cell-hover-bg - Cell background on hover (flat/ghost variants)\n * @cssprop --otp-cell-hover-border-color - Cell border on hover (flat/bordered variants)\n * @cssprop --otp-cell-focus-bg - Cell background when focused (flat variant)\n * @cssprop --otp-cell-focus-border-color - Cell border when focused (flat variant)\n *\n * @part group - Group container.\n * @part cell - Shadow part for the `cell` element.\n * @example\n * ```html\n * <ore-otp-input length=\"6\" color=\"primary\"></ore-otp-input>\n * ```\n */\nexport const OTP_INPUT_TAG = 'ore-otp-input' as const;\ndefine<OreOtpInputProps>(OTP_INPUT_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n label: prop.string('One-time password'),\n length: prop.number(6),\n masked: prop.bool(false),\n name: prop.string(),\n separator: prop.string(),\n type: prop.oneOf(['numeric', 'alphanumeric'] as const, 'numeric'),\n value: prop.string(),\n variant: prop.string<Exclude<VisualVariant, 'text' | 'frost'>>(),\n },\n setup(props) {\n const el = getHost();\n const emit = useEmit<OreOtpInputEvents>();\n\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(props, formCtx);\n const lengthValue = computed(() => Number(props.length.value) || 6);\n const isDisabled = fCtxProps.disabled;\n const cells = computed(() => Array.from({ length: lengthValue.value }, (_, i) => i));\n const otpValue = signal(String(props.value.value || ''));\n const normalizedPropValue = () => String(props.value.value || '');\n\n // Form association: the joined cell value is the single form value for `name`,\n // since individual per-cell <input> elements inside the shadow root cannot\n // participate in an ancestor <form>'s submission on their own.\n useField<string>({ disabled: isDisabled, toFormValue: (v) => v, value: otpValue });\n\n bind({\n attr: {\n size: fCtxProps.size,\n value: () => otpValue.value || null,\n variant: fCtxProps.variant,\n },\n });\n\n function getInputs(): HTMLInputElement[] {\n return [...(el.shadowRoot?.querySelectorAll<HTMLInputElement>('input.cell') ?? [])];\n }\n\n const listControl = createListControl({\n getItems: () => getInputs(),\n keys: { next: ['ArrowRight'], prev: ['ArrowLeft'] },\n loop: false,\n onNavigate: (_action, index) => {\n const inputs = getInputs();\n\n inputs[index]?.focus();\n },\n });\n\n function getValue(): string {\n return getInputs()\n .map((i) => i.value)\n .join('');\n }\n function syncInputsFromValue(raw: string) {\n const allInputs = getInputs();\n const normalized = String(raw || '').slice(0, allInputs.length);\n\n for (const input of allInputs) input.value = '';\n\n normalized.split('').forEach((c, i) => {\n if (allInputs[i]) allInputs[i].value = c;\n });\n\n otpValue.value = getValue();\n }\n function emitOtpState(originalEvent?: Event, forceComplete?: boolean): void {\n const allInputs = getInputs();\n const full = getValue();\n const complete = forceComplete ?? (full.length === allInputs.length && full.split('').every(Boolean));\n\n otpValue.value = full;\n emit('change', { complete, originalEvent, value: full });\n\n if (complete) emit('complete', { originalEvent, value: full });\n }\n function isAllowed(char: string): boolean {\n if (props.type.value === 'numeric') return /^\\d$/.test(char);\n\n return /^[a-z\\d]$/i.test(char);\n }\n function handleInput(e: Event, index: number) {\n const input = e.target as HTMLInputElement;\n let val = input.value;\n\n // Keep only last character if multiple were typed somehow\n if (val.length > 1) val = val.slice(-1);\n\n // Validate character\n if (val && !isAllowed(val)) {\n input.value = '';\n\n return;\n }\n\n input.value = val;\n\n const allInputs = getInputs();\n\n emitOtpState(e);\n\n // Auto-advance\n if (val && index < allInputs.length - 1) {\n allInputs[index + 1].focus();\n allInputs[index + 1].select();\n }\n }\n function handleKeydown(e: KeyboardEvent, index: number) {\n const input = e.target as HTMLInputElement;\n const allInputs = getInputs();\n\n listControl.set(index);\n\n if (e.key === 'Backspace') {\n if (input.value) {\n input.value = '';\n } else if (index > 0) {\n const prevIndex = listControl.navigate('prev');\n const prevInput = allInputs[prevIndex];\n\n if (prevInput) {\n prevInput.select();\n prevInput.value = '';\n }\n }\n\n emitOtpState(e, false);\n e.preventDefault();\n } else {\n listControl.handleKeydown(e);\n }\n }\n function handlePaste(e: ClipboardEvent) {\n e.preventDefault();\n\n const pasted = e.clipboardData?.getData('text') ?? '';\n const chars = pasted\n .split('')\n .filter((c) => isAllowed(c))\n .slice(0, lengthValue.value);\n const allInputs = getInputs();\n\n chars.forEach((char, i) => {\n if (allInputs[i]) allInputs[i].value = char;\n });\n\n emitOtpState(e);\n\n // Focus the cell after last pasted char\n const focusIdx = Math.min(chars.length, allInputs.length - 1);\n\n allInputs[focusIdx]?.focus();\n }\n\n watch(props.value, (value) => {\n syncInputsFromValue(String(value || ''));\n });\n\n watch(props.length, () => {\n // Cells re-render when length changes; sync after DOM updates.\n requestAnimationFrame(() => syncInputsFromValue(normalizedPropValue()));\n });\n\n const separatorIdx = computed(() => {\n const len = Number(props.length.value) || 6;\n\n return props.separator.value != null ? Math.floor(len / 2) : -1;\n });\n\n onMounted(() => {\n // Populate cells from value prop on mount\n syncInputsFromValue(normalizedPropValue());\n });\n\n return html`\n <div class=\"otp-group\" part=\"group\" role=\"group\" :aria-label=\"${props.label}\">\n ${() =>\n cells.value.map(\n (i) => html`\n ${() =>\n separatorIdx.value > 0 && i === separatorIdx.value\n ? html`<span class=\"separator\" aria-hidden=\"true\">${() => props.separator.value || '-'}</span>`\n : ''}\n <input\n class=\"cell\"\n part=\"cell\"\n :type=\"${() => (props.masked.value ? 'password' : 'text')}\"\n :inputmode=\"${() => (props.type.value === 'numeric' ? 'numeric' : 'text')}\"\n maxlength=\"1\"\n :autocomplete=\"${() => (i === 0 ? 'one-time-code' : 'off')}\"\n :aria-label=\"${() => `Digit ${i + 1} of ${lengthValue.value}`}\"\n :disabled=\"${() => (isDisabled.value ? true : null)}\"\n @input=\"${(e: Event) => handleInput(e, i)}\"\n @keydown=\"${(e: KeyboardEvent) => handleKeydown(e, i)}\"\n @paste=\"${(e: ClipboardEvent) => (i === 0 ? handlePaste(e) : e.preventDefault())}\"\n @focus=\"${(e: FocusEvent) => (e.target as HTMLInputElement).select()}\" />\n `,\n )}\n </div>\n `;\n },\n styles: [colorThemeMixin, sizeVariantMixin({}), forcedColorsFocusMixin('.cell'), styles],\n});\n"],"mappings":"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"}