lookbook 2.0.5 → 2.3.2

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 (431) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -10
  3. data/app/components/lookbook/base_component.rb +1 -1
  4. data/app/components/lookbook/embed/inspector/component.html.erb +19 -4
  5. data/app/components/lookbook/embed/inspector/component.rb +1 -1
  6. data/app/components/lookbook/header/component.html.erb +5 -4
  7. data/app/components/lookbook/icon/component.html.erb +4 -2
  8. data/app/components/lookbook/icon/component.rb +0 -16
  9. data/app/components/lookbook/nav/entity/component.html.erb +3 -0
  10. data/app/components/lookbook/nav/item/component.js +8 -10
  11. data/app/components/lookbook/tag_component.rb +8 -1
  12. data/app/controllers/lookbook/application_controller.rb +11 -1
  13. data/app/controllers/lookbook/embeds_controller.rb +4 -4
  14. data/app/controllers/lookbook/inspector_controller.rb +1 -1
  15. data/app/controllers/lookbook/page_controller.rb +1 -1
  16. data/app/controllers/lookbook/pages_controller.rb +1 -1
  17. data/app/controllers/lookbook/previews_controller.rb +2 -2
  18. data/app/helpers/lookbook/application_helper.rb +10 -0
  19. data/app/views/layouts/lookbook/application.html.erb +102 -82
  20. data/app/views/layouts/lookbook/embed.html.erb +30 -12
  21. data/app/views/lookbook/index.html.erb +21 -11
  22. data/app/views/lookbook/inspector/show.html.erb +3 -3
  23. data/app/views/lookbook/previews/group.html.erb +1 -0
  24. data/assets/css/lookbook.css +2 -2
  25. data/assets/icons/activity-square.svg +1 -0
  26. data/assets/icons/ampersand.svg +1 -0
  27. data/assets/icons/ampersands.svg +1 -0
  28. data/assets/icons/antenna.svg +1 -0
  29. data/assets/icons/app-window.svg +1 -0
  30. data/assets/icons/archive-x.svg +1 -0
  31. data/assets/icons/area-chart.svg +1 -0
  32. data/assets/icons/arrow-big-down-dash.svg +1 -0
  33. data/assets/icons/arrow-big-left-dash.svg +1 -0
  34. data/assets/icons/arrow-big-right-dash.svg +1 -0
  35. data/assets/icons/arrow-big-up-dash.svg +1 -0
  36. data/assets/icons/arrow-down-0-1.svg +1 -0
  37. data/assets/icons/arrow-down-1-0.svg +1 -0
  38. data/assets/icons/arrow-down-a-z.svg +1 -0
  39. data/assets/icons/arrow-down-from-line.svg +1 -0
  40. data/assets/icons/arrow-down-left-from-circle.svg +1 -0
  41. data/assets/icons/arrow-down-left-square.svg +1 -0
  42. data/assets/icons/arrow-down-narrow-wide.svg +1 -0
  43. data/assets/icons/arrow-down-right-from-circle.svg +1 -0
  44. data/assets/icons/arrow-down-right-square.svg +1 -0
  45. data/assets/icons/arrow-down-square.svg +1 -0
  46. data/assets/icons/arrow-down-to-dot.svg +1 -0
  47. data/assets/icons/arrow-down-to-line.svg +1 -0
  48. data/assets/icons/arrow-down-up.svg +1 -0
  49. data/assets/icons/arrow-down-wide-narrow.svg +1 -0
  50. data/assets/icons/arrow-down-z-a.svg +1 -0
  51. data/assets/icons/arrow-left-from-line.svg +1 -0
  52. data/assets/icons/arrow-left-square.svg +1 -0
  53. data/assets/icons/arrow-left-to-line.svg +1 -0
  54. data/assets/icons/arrow-right-from-line.svg +1 -0
  55. data/assets/icons/arrow-right-left.svg +1 -0
  56. data/assets/icons/arrow-right-square.svg +1 -0
  57. data/assets/icons/arrow-right-to-line.svg +1 -0
  58. data/assets/icons/arrow-up-0-1.svg +1 -0
  59. data/assets/icons/arrow-up-1-0.svg +1 -0
  60. data/assets/icons/arrow-up-a-z.svg +1 -0
  61. data/assets/icons/arrow-up-from-dot.svg +1 -0
  62. data/assets/icons/arrow-up-from-line.svg +1 -0
  63. data/assets/icons/arrow-up-left-from-circle.svg +1 -0
  64. data/assets/icons/arrow-up-left-square.svg +1 -0
  65. data/assets/icons/arrow-up-narrow-wide.svg +1 -0
  66. data/assets/icons/arrow-up-right-from-circle.svg +1 -0
  67. data/assets/icons/arrow-up-right-square.svg +1 -0
  68. data/assets/icons/arrow-up-square.svg +1 -0
  69. data/assets/icons/arrow-up-to-line.svg +1 -0
  70. data/assets/icons/arrow-up-wide-narrow.svg +1 -0
  71. data/assets/icons/arrow-up-z-a.svg +1 -0
  72. data/assets/icons/arrows-up-from-line.svg +1 -0
  73. data/assets/icons/atom.svg +1 -0
  74. data/assets/icons/badge-alert.svg +1 -0
  75. data/assets/icons/badge-cent.svg +1 -0
  76. data/assets/icons/badge-check.svg +1 -0
  77. data/assets/icons/badge-dollar-sign.svg +1 -0
  78. data/assets/icons/badge-euro.svg +1 -0
  79. data/assets/icons/badge-help.svg +1 -0
  80. data/assets/icons/badge-indian-rupee.svg +1 -0
  81. data/assets/icons/badge-info.svg +1 -0
  82. data/assets/icons/badge-japanese-yen.svg +1 -0
  83. data/assets/icons/badge-minus.svg +1 -0
  84. data/assets/icons/badge-percent.svg +1 -0
  85. data/assets/icons/badge-plus.svg +1 -0
  86. data/assets/icons/badge-pound-sterling.svg +1 -0
  87. data/assets/icons/badge-russian-ruble.svg +1 -0
  88. data/assets/icons/badge-swiss-franc.svg +1 -0
  89. data/assets/icons/badge-x.svg +1 -0
  90. data/assets/icons/badge.svg +1 -0
  91. data/assets/icons/ban.svg +1 -0
  92. data/assets/icons/bar-chart-big.svg +1 -0
  93. data/assets/icons/bar-chart-horizontal-big.svg +1 -0
  94. data/assets/icons/bell-dot.svg +1 -0
  95. data/assets/icons/biohazard.svg +1 -0
  96. data/assets/icons/blocks.svg +1 -0
  97. data/assets/icons/book-copy.svg +1 -0
  98. data/assets/icons/book-down.svg +1 -0
  99. data/assets/icons/book-key.svg +1 -0
  100. data/assets/icons/book-lock.svg +1 -0
  101. data/assets/icons/book-marked.svg +1 -0
  102. data/assets/icons/book-minus.svg +1 -0
  103. data/assets/icons/book-plus.svg +1 -0
  104. data/assets/icons/book-template.svg +1 -0
  105. data/assets/icons/book-up-2.svg +1 -0
  106. data/assets/icons/book-up.svg +1 -0
  107. data/assets/icons/book-x.svg +1 -0
  108. data/assets/icons/bookmark-check.svg +1 -0
  109. data/assets/icons/bookmark-x.svg +1 -0
  110. data/assets/icons/boom-box.svg +1 -0
  111. data/assets/icons/braces.svg +1 -0
  112. data/assets/icons/brackets.svg +1 -0
  113. data/assets/icons/brain-circuit.svg +1 -0
  114. data/assets/icons/brain-cog.svg +1 -0
  115. data/assets/icons/brain.svg +1 -0
  116. data/assets/icons/bring-to-front.svg +1 -0
  117. data/assets/icons/bug-off.svg +1 -0
  118. data/assets/icons/bug-play.svg +1 -0
  119. data/assets/icons/bus-front.svg +1 -0
  120. data/assets/icons/cable-car.svg +1 -0
  121. data/assets/icons/cable.svg +1 -0
  122. data/assets/icons/cake-slice.svg +1 -0
  123. data/assets/icons/candlestick-chart.svg +1 -0
  124. data/assets/icons/candy-cane.svg +1 -0
  125. data/assets/icons/car-front.svg +1 -0
  126. data/assets/icons/car-taxi-front.svg +1 -0
  127. data/assets/icons/case-lower.svg +1 -0
  128. data/assets/icons/case-sensitive.svg +1 -0
  129. data/assets/icons/case-upper.svg +1 -0
  130. data/assets/icons/cassette-tape.svg +1 -0
  131. data/assets/icons/castle.svg +1 -0
  132. data/assets/icons/chevron-down-circle.svg +1 -0
  133. data/assets/icons/chevron-down-square.svg +1 -0
  134. data/assets/icons/chevron-left-circle.svg +1 -0
  135. data/assets/icons/chevron-left-square.svg +1 -0
  136. data/assets/icons/chevron-right-circle.svg +1 -0
  137. data/assets/icons/chevron-right-square.svg +1 -0
  138. data/assets/icons/chevron-up-circle.svg +1 -0
  139. data/assets/icons/chevron-up-square.svg +1 -0
  140. data/assets/icons/church.svg +1 -0
  141. data/assets/icons/circle-dashed.svg +1 -0
  142. data/assets/icons/circle-dollar-sign.svg +1 -0
  143. data/assets/icons/circle-dot-dashed.svg +1 -0
  144. data/assets/icons/circle-equal.svg +1 -0
  145. data/assets/icons/circle-off.svg +1 -0
  146. data/assets/icons/circle-slash-2.svg +1 -0
  147. data/assets/icons/circle-slash.svg +1 -0
  148. data/assets/icons/circuit-board.svg +1 -0
  149. data/assets/icons/clipboard-paste.svg +1 -0
  150. data/assets/icons/club.svg +1 -0
  151. data/assets/icons/combine.svg +1 -0
  152. data/assets/icons/computer.svg +1 -0
  153. data/assets/icons/contact-2.svg +1 -0
  154. data/assets/icons/container.svg +1 -0
  155. data/assets/icons/copy-check.svg +1 -0
  156. data/assets/icons/copy-minus.svg +1 -0
  157. data/assets/icons/copy-plus.svg +1 -0
  158. data/assets/icons/copy-slash.svg +1 -0
  159. data/assets/icons/copy-x.svg +1 -0
  160. data/assets/icons/database-zap.svg +1 -0
  161. data/assets/icons/dessert.svg +1 -0
  162. data/assets/icons/disc-2.svg +1 -0
  163. data/assets/icons/disc-3.svg +1 -0
  164. data/assets/icons/donut.svg +1 -0
  165. data/assets/icons/door-closed.svg +1 -0
  166. data/assets/icons/door-open.svg +1 -0
  167. data/assets/icons/dot.svg +1 -0
  168. data/assets/icons/drama.svg +1 -0
  169. data/assets/icons/ferris-wheel.svg +1 -0
  170. data/assets/icons/file-code-2.svg +1 -0
  171. data/assets/icons/file-stack.svg +1 -0
  172. data/assets/icons/fish-symbol.svg +1 -0
  173. data/assets/icons/fold-horizontal.svg +1 -0
  174. data/assets/icons/fold-vertical.svg +1 -0
  175. data/assets/icons/folder-dot.svg +1 -0
  176. data/assets/icons/folder-git-2.svg +1 -0
  177. data/assets/icons/folder-git.svg +1 -0
  178. data/assets/icons/folder-kanban.svg +1 -0
  179. data/assets/icons/folder-open-dot.svg +1 -0
  180. data/assets/icons/folder-root.svg +1 -0
  181. data/assets/icons/folder-sync.svg +1 -0
  182. data/assets/icons/gallery-horizontal-end.svg +1 -0
  183. data/assets/icons/gallery-horizontal.svg +1 -0
  184. data/assets/icons/gallery-thumbnails.svg +1 -0
  185. data/assets/icons/gallery-vertical-end.svg +1 -0
  186. data/assets/icons/gallery-vertical.svg +1 -0
  187. data/assets/icons/gantt-chart-square.svg +1 -0
  188. data/assets/icons/gantt-chart.svg +1 -0
  189. data/assets/icons/gauge-circle.svg +1 -0
  190. data/assets/icons/goal.svg +1 -0
  191. data/assets/icons/grid-2x2.svg +1 -0
  192. data/assets/icons/grid-3x3.svg +1 -0
  193. data/assets/icons/group.svg +1 -0
  194. data/assets/icons/hard-drive-download.svg +1 -0
  195. data/assets/icons/hard-drive-upload.svg +1 -0
  196. data/assets/icons/hdmi-port.svg +1 -0
  197. data/assets/icons/hotel.svg +1 -0
  198. data/assets/icons/iteration-ccw.svg +1 -0
  199. data/assets/icons/iteration-cw.svg +1 -0
  200. data/assets/icons/kanban-square-dashed.svg +1 -0
  201. data/assets/icons/kanban-square.svg +1 -0
  202. data/assets/icons/kanban.svg +1 -0
  203. data/assets/icons/key-round.svg +1 -0
  204. data/assets/icons/key-square.svg +1 -0
  205. data/assets/icons/layout-panel-left.svg +1 -0
  206. data/assets/icons/layout-panel-top.svg +1 -0
  207. data/assets/icons/leafy-green.svg +1 -0
  208. data/assets/icons/ligature.svg +1 -0
  209. data/assets/icons/list-filter.svg +1 -0
  210. data/assets/icons/list-restart.svg +1 -0
  211. data/assets/icons/list-todo.svg +1 -0
  212. data/assets/icons/list-tree.svg +1 -0
  213. data/assets/icons/lollipop.svg +1 -0
  214. data/assets/icons/m-square.svg +1 -0
  215. data/assets/icons/mailbox.svg +1 -0
  216. data/assets/icons/memory-stick.svg +1 -0
  217. data/assets/icons/menu-square.svg +1 -0
  218. data/assets/icons/merge.svg +1 -0
  219. data/assets/icons/message-square-dashed.svg +1 -0
  220. data/assets/icons/message-square-plus.svg +1 -0
  221. data/assets/icons/messages-square.svg +1 -0
  222. data/assets/icons/monitor-check.svg +1 -0
  223. data/assets/icons/monitor-dot.svg +1 -0
  224. data/assets/icons/monitor-down.svg +1 -0
  225. data/assets/icons/monitor-pause.svg +1 -0
  226. data/assets/icons/monitor-play.svg +1 -0
  227. data/assets/icons/monitor-stop.svg +1 -0
  228. data/assets/icons/monitor-up.svg +1 -0
  229. data/assets/icons/monitor-x.svg +1 -0
  230. data/assets/icons/moon-star.svg +1 -0
  231. data/assets/icons/mouse-pointer-square-dashed.svg +1 -0
  232. data/assets/icons/mouse-pointer-square.svg +1 -0
  233. data/assets/icons/move-down-left.svg +1 -0
  234. data/assets/icons/move-down-right.svg +1 -0
  235. data/assets/icons/move-down.svg +1 -0
  236. data/assets/icons/move-left.svg +1 -0
  237. data/assets/icons/move-right.svg +1 -0
  238. data/assets/icons/move-up-left.svg +1 -0
  239. data/assets/icons/move-up-right.svg +1 -0
  240. data/assets/icons/move-up.svg +1 -0
  241. data/assets/icons/orbit.svg +1 -0
  242. data/assets/icons/panel-bottom-close.svg +1 -0
  243. data/assets/icons/panel-bottom-inactive.svg +1 -0
  244. data/assets/icons/panel-bottom-open.svg +1 -0
  245. data/assets/icons/panel-bottom.svg +1 -0
  246. data/assets/icons/panel-left-close.svg +1 -0
  247. data/assets/icons/panel-left-inactive.svg +1 -0
  248. data/assets/icons/panel-left-open.svg +1 -0
  249. data/assets/icons/panel-left.svg +1 -0
  250. data/assets/icons/panel-right-close.svg +1 -0
  251. data/assets/icons/panel-right-inactive.svg +1 -0
  252. data/assets/icons/panel-right-open.svg +1 -0
  253. data/assets/icons/panel-right.svg +1 -0
  254. data/assets/icons/panel-top-close.svg +1 -0
  255. data/assets/icons/panel-top-inactive.svg +1 -0
  256. data/assets/icons/panel-top-open.svg +1 -0
  257. data/assets/icons/panel-top.svg +1 -0
  258. data/assets/icons/parentheses.svg +1 -0
  259. data/assets/icons/parking-circle-off.svg +1 -0
  260. data/assets/icons/parking-circle.svg +1 -0
  261. data/assets/icons/parking-meter.svg +1 -0
  262. data/assets/icons/parking-square-off.svg +1 -0
  263. data/assets/icons/parking-square.svg +1 -0
  264. data/assets/icons/paw-print.svg +1 -0
  265. data/assets/icons/pc-case.svg +1 -0
  266. data/assets/icons/pen-line.svg +1 -0
  267. data/assets/icons/pen-square.svg +1 -0
  268. data/assets/icons/pen.svg +1 -0
  269. data/assets/icons/pencil-line.svg +1 -0
  270. data/assets/icons/pencil-ruler.svg +1 -0
  271. data/assets/icons/percent-circle.svg +1 -0
  272. data/assets/icons/percent-diamond.svg +1 -0
  273. data/assets/icons/percent-square.svg +1 -0
  274. data/assets/icons/pi-square.svg +1 -0
  275. data/assets/icons/pi.svg +1 -0
  276. data/assets/icons/pilcrow-square.svg +1 -0
  277. data/assets/icons/plane-landing.svg +1 -0
  278. data/assets/icons/plane-takeoff.svg +1 -0
  279. data/assets/icons/play-square.svg +1 -0
  280. data/assets/icons/plug-zap-2.svg +1 -0
  281. data/assets/icons/pocket-knife.svg +1 -0
  282. data/assets/icons/popcorn.svg +1 -0
  283. data/assets/icons/popsicle.svg +1 -0
  284. data/assets/icons/presentation.svg +1 -0
  285. data/assets/icons/projector.svg +1 -0
  286. data/assets/icons/rabbit.svg +1 -0
  287. data/assets/icons/radar.svg +1 -0
  288. data/assets/icons/radiation.svg +1 -0
  289. data/assets/icons/radio-tower.svg +1 -0
  290. data/assets/icons/rail-symbol.svg +1 -0
  291. data/assets/icons/rainbow.svg +1 -0
  292. data/assets/icons/rat.svg +1 -0
  293. data/assets/icons/ratio.svg +1 -0
  294. data/assets/icons/receipt.svg +1 -0
  295. data/assets/icons/redo-dot.svg +1 -0
  296. data/assets/icons/refresh-ccw-dot.svg +1 -0
  297. data/assets/icons/refresh-cw-off.svg +1 -0
  298. data/assets/icons/repeat-2.svg +1 -0
  299. data/assets/icons/replace-all.svg +1 -0
  300. data/assets/icons/replace.svg +1 -0
  301. data/assets/icons/roller-coaster.svg +1 -0
  302. data/assets/icons/rows.svg +1 -0
  303. data/assets/icons/satellite-dish.svg +1 -0
  304. data/assets/icons/satellite.svg +1 -0
  305. data/assets/icons/save-all.svg +1 -0
  306. data/assets/icons/scatter-chart.svg +1 -0
  307. data/assets/icons/school-2.svg +1 -0
  308. data/assets/icons/school.svg +1 -0
  309. data/assets/icons/scissors-line-dashed.svg +1 -0
  310. data/assets/icons/scissors-square-dashed-bottom.svg +1 -0
  311. data/assets/icons/scissors-square.svg +1 -0
  312. data/assets/icons/scroll-text.svg +1 -0
  313. data/assets/icons/search-check.svg +1 -0
  314. data/assets/icons/search-code.svg +1 -0
  315. data/assets/icons/search-slash.svg +1 -0
  316. data/assets/icons/search-x.svg +1 -0
  317. data/assets/icons/send-horizontal.svg +1 -0
  318. data/assets/icons/send-to-back.svg +1 -0
  319. data/assets/icons/shapes.svg +1 -0
  320. data/assets/icons/shell.svg +1 -0
  321. data/assets/icons/shield-ban.svg +1 -0
  322. data/assets/icons/shield-ellipsis.svg +1 -0
  323. data/assets/icons/shield-half.svg +1 -0
  324. data/assets/icons/shield-minus.svg +1 -0
  325. data/assets/icons/shield-plus.svg +1 -0
  326. data/assets/icons/shield-question.svg +1 -0
  327. data/assets/icons/shield-x.svg +1 -0
  328. data/assets/icons/ship-wheel.svg +1 -0
  329. data/assets/icons/shopping-basket.svg +1 -0
  330. data/assets/icons/sigma-square.svg +1 -0
  331. data/assets/icons/snail.svg +1 -0
  332. data/assets/icons/space.svg +1 -0
  333. data/assets/icons/spade.svg +1 -0
  334. data/assets/icons/sparkle.svg +1 -0
  335. data/assets/icons/sparkles.svg +1 -0
  336. data/assets/icons/speech.svg +1 -0
  337. data/assets/icons/spell-check-2.svg +1 -0
  338. data/assets/icons/spell-check.svg +1 -0
  339. data/assets/icons/split.svg +1 -0
  340. data/assets/icons/spray-can.svg +1 -0
  341. data/assets/icons/square-asterisk.svg +1 -0
  342. data/assets/icons/square-code.svg +1 -0
  343. data/assets/icons/square-dashed-bottom-code.svg +1 -0
  344. data/assets/icons/square-dashed-bottom.svg +1 -0
  345. data/assets/icons/square-dot.svg +1 -0
  346. data/assets/icons/square-equal.svg +1 -0
  347. data/assets/icons/square-slash.svg +1 -0
  348. data/assets/icons/square-stack.svg +1 -0
  349. data/assets/icons/squirrel.svg +1 -0
  350. data/assets/icons/step-back.svg +1 -0
  351. data/assets/icons/step-forward.svg +1 -0
  352. data/assets/icons/store.svg +1 -0
  353. data/assets/icons/table-properties.svg +1 -0
  354. data/assets/icons/tablet-smartphone.svg +1 -0
  355. data/assets/icons/tally-1.svg +1 -0
  356. data/assets/icons/tally-2.svg +1 -0
  357. data/assets/icons/tally-3.svg +1 -0
  358. data/assets/icons/tally-4.svg +1 -0
  359. data/assets/icons/tally-5.svg +1 -0
  360. data/assets/icons/test-tube-2.svg +1 -0
  361. data/assets/icons/test-tube.svg +1 -0
  362. data/assets/icons/test-tubes.svg +1 -0
  363. data/assets/icons/text-quote.svg +1 -0
  364. data/assets/icons/text-select.svg +1 -0
  365. data/assets/icons/text.svg +1 -0
  366. data/assets/icons/theater.svg +1 -0
  367. data/assets/icons/touchpad-off.svg +1 -0
  368. data/assets/icons/touchpad.svg +1 -0
  369. data/assets/icons/tractor.svg +1 -0
  370. data/assets/icons/traffic-cone.svg +1 -0
  371. data/assets/icons/train-front-tunnel.svg +1 -0
  372. data/assets/icons/train-front.svg +1 -0
  373. data/assets/icons/train-track.svg +1 -0
  374. data/assets/icons/tram-front.svg +1 -0
  375. data/assets/icons/triangle-right.svg +1 -0
  376. data/assets/icons/turtle.svg +1 -0
  377. data/assets/icons/undo-dot.svg +1 -0
  378. data/assets/icons/unfold-horizontal.svg +1 -0
  379. data/assets/icons/unfold-vertical.svg +1 -0
  380. data/assets/icons/ungroup.svg +1 -0
  381. data/assets/icons/unplug.svg +1 -0
  382. data/assets/icons/user-2.svg +1 -0
  383. data/assets/icons/user-check-2.svg +1 -0
  384. data/assets/icons/user-circle-2.svg +1 -0
  385. data/assets/icons/user-circle.svg +1 -0
  386. data/assets/icons/user-cog-2.svg +1 -0
  387. data/assets/icons/user-minus-2.svg +1 -0
  388. data/assets/icons/user-plus-2.svg +1 -0
  389. data/assets/icons/user-square-2.svg +1 -0
  390. data/assets/icons/user-square.svg +1 -0
  391. data/assets/icons/user-x-2.svg +1 -0
  392. data/assets/icons/users-2.svg +1 -0
  393. data/assets/icons/variable.svg +1 -0
  394. data/assets/icons/videotape.svg +1 -0
  395. data/assets/icons/wallet-2.svg +1 -0
  396. data/assets/icons/wallet-cards.svg +1 -0
  397. data/assets/icons/wallpaper.svg +1 -0
  398. data/assets/icons/warehouse.svg +1 -0
  399. data/assets/icons/whole-word.svg +1 -0
  400. data/assets/icons/workflow.svg +1 -0
  401. data/assets/js/app.js +13 -4
  402. data/assets/js/helpers/request.js +2 -2
  403. data/config/app.yml +6 -1
  404. data/lib/lookbook/cable/cable.rb +2 -2
  405. data/lib/lookbook/engine.rb +3 -1
  406. data/lib/lookbook/entities/collections/preview_collection.rb +1 -4
  407. data/lib/lookbook/entities/entity.rb +4 -0
  408. data/lib/lookbook/entities/page_entity.rb +1 -1
  409. data/lib/lookbook/entities/scenario_entity.rb +1 -1
  410. data/lib/lookbook/entities/scenario_group_entity.rb +1 -1
  411. data/lib/lookbook/file_watcher.rb +1 -1
  412. data/lib/lookbook/helpers/ui_elements_helper.rb +3 -3
  413. data/lib/lookbook/param.rb +1 -1
  414. data/lib/lookbook/preview.rb +1 -0
  415. data/lib/lookbook/preview_controller_actions.rb +19 -16
  416. data/lib/lookbook/services/data/resolvers/data_resolver.rb +1 -1
  417. data/lib/lookbook/services/templates/action_view_config_handler.rb +50 -0
  418. data/lib/lookbook/stores/config_store.rb +4 -0
  419. data/lib/lookbook/theme.rb +2 -6
  420. data/lib/lookbook/version.rb +1 -1
  421. data/lib/lookbook/websocket.rb +1 -1
  422. data/public/lookbook-assets/css/lookbook.css +555 -394
  423. data/public/lookbook-assets/css/lookbook.css.map +1 -1
  424. data/public/lookbook-assets/img/lucide-sprite.svg +1 -1
  425. data/public/lookbook-assets/js/iframe.js.map +1 -1
  426. data/public/lookbook-assets/js/index.js +792 -637
  427. data/public/lookbook-assets/js/index.js.map +1 -1
  428. data/public/lookbook-assets/js/lookbook-core.js +38 -1
  429. data/public/lookbook-assets/js/lookbook.js +121 -84
  430. metadata +383 -7
  431. data/lib/lookbook/services/templates/action_view_annotations_handler.rb +0 -21
@@ -1,10 +1,13 @@
1
1
  (() => {
2
+
2
3
  function $parcel$interopDefault(a) {
3
4
  return a && a.__esModule ? a.default : a;
4
5
  }
6
+
5
7
  function $parcel$defineInteropFlag(a) {
6
8
  Object.defineProperty(a, '__esModule', {value: true, configurable: true});
7
9
  }
10
+
8
11
  function $parcel$export(e, n, v, s) {
9
12
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
10
13
  }
@@ -71,7 +74,7 @@ function $caa9439642c6336c$var$elementBoundEffect(el) {
71
74
  let wrappedEffect = (callback)=>{
72
75
  let effectReference = $caa9439642c6336c$var$effect(callback);
73
76
  if (!el._x_effects) {
74
- el._x_effects = new Set();
77
+ el._x_effects = /* @__PURE__ */ new Set();
75
78
  el._x_runEffects = ()=>{
76
79
  el._x_effects.forEach((i)=>i());
77
80
  };
@@ -91,6 +94,105 @@ function $caa9439642c6336c$var$elementBoundEffect(el) {
91
94
  }
92
95
  ];
93
96
  }
97
+ // packages/alpinejs/src/utils/dispatch.js
98
+ function $caa9439642c6336c$var$dispatch(el, name, detail = {}) {
99
+ el.dispatchEvent(new CustomEvent(name, {
100
+ detail: detail,
101
+ bubbles: true,
102
+ // Allows events to pass the shadow DOM barrier.
103
+ composed: true,
104
+ cancelable: true
105
+ }));
106
+ }
107
+ // packages/alpinejs/src/utils/walk.js
108
+ function $caa9439642c6336c$var$walk(el, callback) {
109
+ if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) {
110
+ Array.from(el.children).forEach((el2)=>$caa9439642c6336c$var$walk(el2, callback));
111
+ return;
112
+ }
113
+ let skip = false;
114
+ callback(el, ()=>skip = true);
115
+ if (skip) return;
116
+ let node = el.firstElementChild;
117
+ while(node){
118
+ $caa9439642c6336c$var$walk(node, callback, false);
119
+ node = node.nextElementSibling;
120
+ }
121
+ }
122
+ // packages/alpinejs/src/utils/warn.js
123
+ function $caa9439642c6336c$var$warn(message, ...args) {
124
+ console.warn(`Alpine Warning: ${message}`, ...args);
125
+ }
126
+ // packages/alpinejs/src/lifecycle.js
127
+ var $caa9439642c6336c$var$started = false;
128
+ function $caa9439642c6336c$var$start() {
129
+ if ($caa9439642c6336c$var$started) $caa9439642c6336c$var$warn("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems.");
130
+ $caa9439642c6336c$var$started = true;
131
+ if (!document.body) $caa9439642c6336c$var$warn("Unable to initialize. Trying to load Alpine before `<body>` is available. Did you forget to add `defer` in Alpine's `<script>` tag?");
132
+ $caa9439642c6336c$var$dispatch(document, "alpine:init");
133
+ $caa9439642c6336c$var$dispatch(document, "alpine:initializing");
134
+ $caa9439642c6336c$var$startObservingMutations();
135
+ $caa9439642c6336c$var$onElAdded((el)=>$caa9439642c6336c$var$initTree(el, $caa9439642c6336c$var$walk));
136
+ $caa9439642c6336c$var$onElRemoved((el)=>$caa9439642c6336c$var$destroyTree(el));
137
+ $caa9439642c6336c$var$onAttributesAdded((el, attrs)=>{
138
+ $caa9439642c6336c$var$directives(el, attrs).forEach((handle)=>handle());
139
+ });
140
+ let outNestedComponents = (el)=>!$caa9439642c6336c$var$closestRoot(el.parentElement, true);
141
+ Array.from(document.querySelectorAll($caa9439642c6336c$var$allSelectors().join(","))).filter(outNestedComponents).forEach((el)=>{
142
+ $caa9439642c6336c$var$initTree(el);
143
+ });
144
+ $caa9439642c6336c$var$dispatch(document, "alpine:initialized");
145
+ }
146
+ var $caa9439642c6336c$var$rootSelectorCallbacks = [];
147
+ var $caa9439642c6336c$var$initSelectorCallbacks = [];
148
+ function $caa9439642c6336c$var$rootSelectors() {
149
+ return $caa9439642c6336c$var$rootSelectorCallbacks.map((fn)=>fn());
150
+ }
151
+ function $caa9439642c6336c$var$allSelectors() {
152
+ return $caa9439642c6336c$var$rootSelectorCallbacks.concat($caa9439642c6336c$var$initSelectorCallbacks).map((fn)=>fn());
153
+ }
154
+ function $caa9439642c6336c$var$addRootSelector(selectorCallback) {
155
+ $caa9439642c6336c$var$rootSelectorCallbacks.push(selectorCallback);
156
+ }
157
+ function $caa9439642c6336c$var$addInitSelector(selectorCallback) {
158
+ $caa9439642c6336c$var$initSelectorCallbacks.push(selectorCallback);
159
+ }
160
+ function $caa9439642c6336c$var$closestRoot(el, includeInitSelectors = false) {
161
+ return $caa9439642c6336c$var$findClosest(el, (element)=>{
162
+ const selectors = includeInitSelectors ? $caa9439642c6336c$var$allSelectors() : $caa9439642c6336c$var$rootSelectors();
163
+ if (selectors.some((selector)=>element.matches(selector))) return true;
164
+ });
165
+ }
166
+ function $caa9439642c6336c$var$findClosest(el, callback) {
167
+ if (!el) return;
168
+ if (callback(el)) return el;
169
+ if (el._x_teleportBack) el = el._x_teleportBack;
170
+ if (!el.parentElement) return;
171
+ return $caa9439642c6336c$var$findClosest(el.parentElement, callback);
172
+ }
173
+ function $caa9439642c6336c$var$isRoot(el) {
174
+ return $caa9439642c6336c$var$rootSelectors().some((selector)=>el.matches(selector));
175
+ }
176
+ var $caa9439642c6336c$var$initInterceptors = [];
177
+ function $caa9439642c6336c$var$interceptInit(callback) {
178
+ $caa9439642c6336c$var$initInterceptors.push(callback);
179
+ }
180
+ function $caa9439642c6336c$var$initTree(el, walker = $caa9439642c6336c$var$walk, intercept = ()=>{}) {
181
+ $caa9439642c6336c$var$deferHandlingDirectives(()=>{
182
+ walker(el, (el2, skip)=>{
183
+ intercept(el2, skip);
184
+ $caa9439642c6336c$var$initInterceptors.forEach((i)=>i(el2, skip));
185
+ $caa9439642c6336c$var$directives(el2, el2.attributes).forEach((handle)=>handle());
186
+ el2._x_ignore && skip();
187
+ });
188
+ });
189
+ }
190
+ function $caa9439642c6336c$var$destroyTree(root) {
191
+ $caa9439642c6336c$var$walk(root, (el)=>{
192
+ $caa9439642c6336c$var$cleanupAttributes(el);
193
+ $caa9439642c6336c$var$cleanupElement(el);
194
+ });
195
+ }
94
196
  // packages/alpinejs/src/mutation.js
95
197
  var $caa9439642c6336c$var$onAttributeAddeds = [];
96
198
  var $caa9439642c6336c$var$onElRemoveds = [];
@@ -124,6 +226,9 @@ function $caa9439642c6336c$var$cleanupAttributes(el, names) {
124
226
  }
125
227
  });
126
228
  }
229
+ function $caa9439642c6336c$var$cleanupElement(el) {
230
+ if (el._x_cleanups) while(el._x_cleanups.length)el._x_cleanups.pop()();
231
+ }
127
232
  var $caa9439642c6336c$var$observer = new MutationObserver($caa9439642c6336c$var$onMutate);
128
233
  var $caa9439642c6336c$var$currentlyObserving = false;
129
234
  function $caa9439642c6336c$var$startObservingMutations() {
@@ -180,8 +285,8 @@ function $caa9439642c6336c$var$onMutate(mutations) {
180
285
  }
181
286
  let addedNodes = [];
182
287
  let removedNodes = [];
183
- let addedAttributes = new Map();
184
- let removedAttributes = new Map();
288
+ let addedAttributes = /* @__PURE__ */ new Map();
289
+ let removedAttributes = /* @__PURE__ */ new Map();
185
290
  for(let i = 0; i < mutations.length; i++){
186
291
  if (mutations[i].target._x_ignoreMutationObserver) continue;
187
292
  if (mutations[i].type === "childList") {
@@ -219,7 +324,7 @@ function $caa9439642c6336c$var$onMutate(mutations) {
219
324
  for (let node of removedNodes){
220
325
  if (addedNodes.includes(node)) continue;
221
326
  $caa9439642c6336c$var$onElRemoveds.forEach((i)=>i(node));
222
- if (node._x_cleanups) while(node._x_cleanups.length)node._x_cleanups.pop()();
327
+ $caa9439642c6336c$var$destroyTree(node);
223
328
  }
224
329
  addedNodes.forEach((node)=>{
225
330
  node._x_ignoreSelf = true;
@@ -263,51 +368,41 @@ function $caa9439642c6336c$var$closestDataStack(node) {
263
368
  return $caa9439642c6336c$var$closestDataStack(node.parentNode);
264
369
  }
265
370
  function $caa9439642c6336c$var$mergeProxies(objects) {
266
- let thisProxy = new Proxy({}, {
267
- ownKeys: ()=>{
268
- return Array.from(new Set(objects.flatMap((i)=>Object.keys(i))));
269
- },
270
- has: (target, name)=>{
271
- return objects.some((obj)=>obj.hasOwnProperty(name));
272
- },
273
- get: (target, name)=>{
274
- return (objects.find((obj)=>{
275
- if (obj.hasOwnProperty(name)) {
276
- let descriptor = Object.getOwnPropertyDescriptor(obj, name);
277
- if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) return true;
278
- if ((descriptor.get || descriptor.set) && descriptor.enumerable) {
279
- let getter = descriptor.get;
280
- let setter = descriptor.set;
281
- let property = descriptor;
282
- getter = getter && getter.bind(thisProxy);
283
- setter = setter && setter.bind(thisProxy);
284
- if (getter) getter._x_alreadyBound = true;
285
- if (setter) setter._x_alreadyBound = true;
286
- Object.defineProperty(obj, name, {
287
- ...property,
288
- get: getter,
289
- set: setter
290
- });
291
- }
292
- return true;
293
- }
294
- return false;
295
- }) || {})[name];
296
- },
297
- set: (target, name, value)=>{
298
- let closestObjectWithKey = objects.find((obj)=>obj.hasOwnProperty(name));
299
- if (closestObjectWithKey) closestObjectWithKey[name] = value;
300
- else objects[objects.length - 1][name] = value;
301
- return true;
302
- }
303
- });
304
- return thisProxy;
371
+ return new Proxy({
372
+ objects: objects
373
+ }, $caa9439642c6336c$var$mergeProxyTrap);
374
+ }
375
+ var $caa9439642c6336c$var$mergeProxyTrap = {
376
+ ownKeys ({ objects: objects }) {
377
+ return Array.from(new Set(objects.flatMap((i)=>Object.keys(i))));
378
+ },
379
+ has ({ objects: objects }, name) {
380
+ if (name == Symbol.unscopables) return false;
381
+ return objects.some((obj)=>Object.prototype.hasOwnProperty.call(obj, name));
382
+ },
383
+ get ({ objects: objects }, name, thisProxy) {
384
+ if (name == "toJSON") return $caa9439642c6336c$var$collapseProxies;
385
+ return Reflect.get(objects.find((obj)=>Object.prototype.hasOwnProperty.call(obj, name)) || {}, name, thisProxy);
386
+ },
387
+ set ({ objects: objects }, name, value, thisProxy) {
388
+ const target = objects.find((obj)=>Object.prototype.hasOwnProperty.call(obj, name)) || objects[objects.length - 1];
389
+ const descriptor = Object.getOwnPropertyDescriptor(target, name);
390
+ if (descriptor?.set && descriptor?.get) return Reflect.set(target, name, value, thisProxy);
391
+ return Reflect.set(target, name, value);
392
+ }
393
+ };
394
+ function $caa9439642c6336c$var$collapseProxies() {
395
+ let keys = Reflect.ownKeys(this);
396
+ return keys.reduce((acc, key)=>{
397
+ acc[key] = Reflect.get(this, key);
398
+ return acc;
399
+ }, {});
305
400
  }
306
401
  // packages/alpinejs/src/interceptor.js
307
- function $caa9439642c6336c$var$initInterceptors(data2) {
402
+ function $caa9439642c6336c$var$initInterceptors2(data2) {
308
403
  let isObject2 = (val)=>typeof val === "object" && !Array.isArray(val) && val !== null;
309
404
  let recurse = (obj, basePath = "")=>{
310
- Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value: value , enumerable: enumerable }])=>{
405
+ Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value: value, enumerable: enumerable }])=>{
311
406
  if (enumerable === false || value === void 0) return;
312
407
  let path = basePath === "" ? key : `${basePath}.${key}`;
313
408
  if (typeof value === "object" && value !== null && value._x_interceptor) obj[key] = value.initialize(data2, path, key);
@@ -406,8 +501,9 @@ var $caa9439642c6336c$var$shouldAutoEvaluateFunctions = true;
406
501
  function $caa9439642c6336c$var$dontAutoEvaluateFunctions(callback) {
407
502
  let cache = $caa9439642c6336c$var$shouldAutoEvaluateFunctions;
408
503
  $caa9439642c6336c$var$shouldAutoEvaluateFunctions = false;
409
- callback();
504
+ let result = callback();
410
505
  $caa9439642c6336c$var$shouldAutoEvaluateFunctions = cache;
506
+ return result;
411
507
  }
412
508
  function $caa9439642c6336c$var$evaluate(el, expression, extras = {}) {
413
509
  let result;
@@ -432,7 +528,7 @@ function $caa9439642c6336c$var$normalEvaluator(el, expression) {
432
528
  return $caa9439642c6336c$var$tryCatch.bind(null, el, expression, evaluator);
433
529
  }
434
530
  function $caa9439642c6336c$var$generateEvaluatorFromFunction(dataStack, func) {
435
- return (receiver = ()=>{}, { scope: scope2 = {} , params: params = [] } = {})=>{
531
+ return (receiver = ()=>{}, { scope: scope2 = {}, params: params = [] } = {})=>{
436
532
  let result = func.apply($caa9439642c6336c$var$mergeProxies([
437
533
  scope2,
438
534
  ...dataStack
@@ -444,13 +540,17 @@ var $caa9439642c6336c$var$evaluatorMemo = {};
444
540
  function $caa9439642c6336c$var$generateFunctionFromString(expression, el) {
445
541
  if ($caa9439642c6336c$var$evaluatorMemo[expression]) return $caa9439642c6336c$var$evaluatorMemo[expression];
446
542
  let AsyncFunction = Object.getPrototypeOf(async function() {}).constructor;
447
- let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression) || /^(let|const)\s/.test(expression) ? `(async()=>{ ${expression} })()` : expression;
543
+ let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression.trim()) || /^(let|const)\s/.test(expression.trim()) ? `(async()=>{ ${expression} })()` : expression;
448
544
  const safeAsyncFunction = ()=>{
449
545
  try {
450
- return new AsyncFunction([
546
+ let func2 = new AsyncFunction([
451
547
  "__self",
452
548
  "scope"
453
549
  ], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`);
550
+ Object.defineProperty(func2, "name", {
551
+ value: `[Alpine] ${expression}`
552
+ });
553
+ return func2;
454
554
  } catch (error2) {
455
555
  $caa9439642c6336c$var$handleError(error2, el, expression);
456
556
  return Promise.resolve();
@@ -462,7 +562,7 @@ function $caa9439642c6336c$var$generateFunctionFromString(expression, el) {
462
562
  }
463
563
  function $caa9439642c6336c$var$generateEvaluatorFromString(dataStack, expression, el) {
464
564
  let func = $caa9439642c6336c$var$generateFunctionFromString(expression, el);
465
- return (receiver = ()=>{}, { scope: scope2 = {} , params: params = [] } = {})=>{
565
+ return (receiver = ()=>{}, { scope: scope2 = {}, params: params = [] } = {})=>{
466
566
  func.result = void 0;
467
567
  func.finished = false;
468
568
  let completeScope = $caa9439642c6336c$var$mergeProxies([
@@ -537,7 +637,7 @@ function $caa9439642c6336c$var$attributesOnly(attributes) {
537
637
  return Array.from(attributes).map($caa9439642c6336c$var$toTransformedAttributes()).filter((attr)=>!$caa9439642c6336c$var$outNonAlpineAttributes(attr));
538
638
  }
539
639
  var $caa9439642c6336c$var$isDeferringHandlers = false;
540
- var $caa9439642c6336c$var$directiveHandlerStacks = new Map();
640
+ var $caa9439642c6336c$var$directiveHandlerStacks = /* @__PURE__ */ new Map();
541
641
  var $caa9439642c6336c$var$currentHandlerStackKey = Symbol();
542
642
  function $caa9439642c6336c$var$deferHandlingDirectives(callback) {
543
643
  $caa9439642c6336c$var$isDeferringHandlers = true;
@@ -575,19 +675,19 @@ function $caa9439642c6336c$var$getElementBoundUtilities(el) {
575
675
  }
576
676
  function $caa9439642c6336c$var$getDirectiveHandler(el, directive2) {
577
677
  let noop = ()=>{};
578
- let handler3 = $caa9439642c6336c$var$directiveHandlers[directive2.type] || noop;
678
+ let handler4 = $caa9439642c6336c$var$directiveHandlers[directive2.type] || noop;
579
679
  let [utilities, cleanup2] = $caa9439642c6336c$var$getElementBoundUtilities(el);
580
680
  $caa9439642c6336c$var$onAttributeRemoved(el, directive2.original, cleanup2);
581
681
  let fullHandler = ()=>{
582
682
  if (el._x_ignore || el._x_ignoreSelf) return;
583
- handler3.inline && handler3.inline(el, directive2, utilities);
584
- handler3 = handler3.bind(handler3, el, directive2, utilities);
585
- $caa9439642c6336c$var$isDeferringHandlers ? $caa9439642c6336c$var$directiveHandlerStacks.get($caa9439642c6336c$var$currentHandlerStackKey).push(handler3) : handler3();
683
+ handler4.inline && handler4.inline(el, directive2, utilities);
684
+ handler4 = handler4.bind(handler4, el, directive2, utilities);
685
+ $caa9439642c6336c$var$isDeferringHandlers ? $caa9439642c6336c$var$directiveHandlerStacks.get($caa9439642c6336c$var$currentHandlerStackKey).push(handler4) : handler4();
586
686
  };
587
687
  fullHandler.runCleanups = cleanup2;
588
688
  return fullHandler;
589
689
  }
590
- var $caa9439642c6336c$var$startingWith = (subject, replacement)=>({ name: name , value: value })=>{
690
+ var $caa9439642c6336c$var$startingWith = (subject, replacement)=>({ name: name, value: value })=>{
591
691
  if (name.startsWith(subject)) name = name.replace(subject, replacement);
592
692
  return {
593
693
  name: name,
@@ -596,8 +696,8 @@ var $caa9439642c6336c$var$startingWith = (subject, replacement)=>({ name: name ,
596
696
  };
597
697
  var $caa9439642c6336c$var$into = (i)=>i;
598
698
  function $caa9439642c6336c$var$toTransformedAttributes(callback = ()=>{}) {
599
- return ({ name: name , value: value })=>{
600
- let { name: newName , value: newValue } = $caa9439642c6336c$var$attributeTransformers.reduce((carry, transform)=>{
699
+ return ({ name: name, value: value })=>{
700
+ let { name: newName, value: newValue } = $caa9439642c6336c$var$attributeTransformers.reduce((carry, transform)=>{
601
701
  return transform(carry);
602
702
  }, {
603
703
  name: name,
@@ -614,14 +714,14 @@ var $caa9439642c6336c$var$attributeTransformers = [];
614
714
  function $caa9439642c6336c$var$mapAttributes(callback) {
615
715
  $caa9439642c6336c$var$attributeTransformers.push(callback);
616
716
  }
617
- function $caa9439642c6336c$var$outNonAlpineAttributes({ name: name }) {
717
+ function $caa9439642c6336c$var$outNonAlpineAttributes({ name: name }) {
618
718
  return $caa9439642c6336c$var$alpineAttributeRegex().test(name);
619
719
  }
620
720
  var $caa9439642c6336c$var$alpineAttributeRegex = ()=>new RegExp(`^${$caa9439642c6336c$var$prefixAsString}([^:^.]+)\\b`);
621
721
  function $caa9439642c6336c$var$toParsedDirectives(transformedAttributeMap, originalAttributeOverride) {
622
- return ({ name: name , value: value })=>{
722
+ return ({ name: name, value: value })=>{
623
723
  let typeMatch = name.match($caa9439642c6336c$var$alpineAttributeRegex());
624
- let valueMatch = name.match(/:([a-zA-Z0-9\-:]+)/);
724
+ let valueMatch = name.match(/:([a-zA-Z0-9\-_:]+)/);
625
725
  let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || [];
626
726
  let original = originalAttributeOverride || transformedAttributeMap[name] || name;
627
727
  return {
@@ -639,6 +739,7 @@ var $caa9439642c6336c$var$directiveOrder = [
639
739
  "ref",
640
740
  "data",
641
741
  "id",
742
+ "anchor",
642
743
  "bind",
643
744
  "init",
644
745
  "for",
@@ -655,101 +756,6 @@ function $caa9439642c6336c$var$byPriority(a, b) {
655
756
  let typeB = $caa9439642c6336c$var$directiveOrder.indexOf(b.type) === -1 ? $caa9439642c6336c$var$DEFAULT : b.type;
656
757
  return $caa9439642c6336c$var$directiveOrder.indexOf(typeA) - $caa9439642c6336c$var$directiveOrder.indexOf(typeB);
657
758
  }
658
- // packages/alpinejs/src/utils/dispatch.js
659
- function $caa9439642c6336c$var$dispatch(el, name, detail = {}) {
660
- el.dispatchEvent(new CustomEvent(name, {
661
- detail: detail,
662
- bubbles: true,
663
- composed: true,
664
- cancelable: true
665
- }));
666
- }
667
- // packages/alpinejs/src/utils/walk.js
668
- function $caa9439642c6336c$var$walk(el, callback) {
669
- if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) {
670
- Array.from(el.children).forEach((el2)=>$caa9439642c6336c$var$walk(el2, callback));
671
- return;
672
- }
673
- let skip = false;
674
- callback(el, ()=>skip = true);
675
- if (skip) return;
676
- let node = el.firstElementChild;
677
- while(node){
678
- $caa9439642c6336c$var$walk(node, callback, false);
679
- node = node.nextElementSibling;
680
- }
681
- }
682
- // packages/alpinejs/src/utils/warn.js
683
- function $caa9439642c6336c$var$warn(message, ...args) {
684
- console.warn(`Alpine Warning: ${message}`, ...args);
685
- }
686
- // packages/alpinejs/src/lifecycle.js
687
- var $caa9439642c6336c$var$started = false;
688
- function $caa9439642c6336c$var$start() {
689
- if ($caa9439642c6336c$var$started) $caa9439642c6336c$var$warn("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems.");
690
- $caa9439642c6336c$var$started = true;
691
- if (!document.body) $caa9439642c6336c$var$warn("Unable to initialize. Trying to load Alpine before `<body>` is available. Did you forget to add `defer` in Alpine's `<script>` tag?");
692
- $caa9439642c6336c$var$dispatch(document, "alpine:init");
693
- $caa9439642c6336c$var$dispatch(document, "alpine:initializing");
694
- $caa9439642c6336c$var$startObservingMutations();
695
- $caa9439642c6336c$var$onElAdded((el)=>$caa9439642c6336c$var$initTree(el, $caa9439642c6336c$var$walk));
696
- $caa9439642c6336c$var$onElRemoved((el)=>$caa9439642c6336c$var$destroyTree(el));
697
- $caa9439642c6336c$var$onAttributesAdded((el, attrs)=>{
698
- $caa9439642c6336c$var$directives(el, attrs).forEach((handle)=>handle());
699
- });
700
- let outNestedComponents = (el)=>!$caa9439642c6336c$var$closestRoot(el.parentElement, true);
701
- Array.from(document.querySelectorAll($caa9439642c6336c$var$allSelectors())).filter(outNestedComponents).forEach((el)=>{
702
- $caa9439642c6336c$var$initTree(el);
703
- });
704
- $caa9439642c6336c$var$dispatch(document, "alpine:initialized");
705
- }
706
- var $caa9439642c6336c$var$rootSelectorCallbacks = [];
707
- var $caa9439642c6336c$var$initSelectorCallbacks = [];
708
- function $caa9439642c6336c$var$rootSelectors() {
709
- return $caa9439642c6336c$var$rootSelectorCallbacks.map((fn)=>fn());
710
- }
711
- function $caa9439642c6336c$var$allSelectors() {
712
- return $caa9439642c6336c$var$rootSelectorCallbacks.concat($caa9439642c6336c$var$initSelectorCallbacks).map((fn)=>fn());
713
- }
714
- function $caa9439642c6336c$var$addRootSelector(selectorCallback) {
715
- $caa9439642c6336c$var$rootSelectorCallbacks.push(selectorCallback);
716
- }
717
- function $caa9439642c6336c$var$addInitSelector(selectorCallback) {
718
- $caa9439642c6336c$var$initSelectorCallbacks.push(selectorCallback);
719
- }
720
- function $caa9439642c6336c$var$closestRoot(el, includeInitSelectors = false) {
721
- return $caa9439642c6336c$var$findClosest(el, (element)=>{
722
- const selectors = includeInitSelectors ? $caa9439642c6336c$var$allSelectors() : $caa9439642c6336c$var$rootSelectors();
723
- if (selectors.some((selector)=>element.matches(selector))) return true;
724
- });
725
- }
726
- function $caa9439642c6336c$var$findClosest(el, callback) {
727
- if (!el) return;
728
- if (callback(el)) return el;
729
- if (el._x_teleportBack) el = el._x_teleportBack;
730
- if (!el.parentElement) return;
731
- return $caa9439642c6336c$var$findClosest(el.parentElement, callback);
732
- }
733
- function $caa9439642c6336c$var$isRoot(el) {
734
- return $caa9439642c6336c$var$rootSelectors().some((selector)=>el.matches(selector));
735
- }
736
- var $caa9439642c6336c$var$initInterceptors2 = [];
737
- function $caa9439642c6336c$var$interceptInit(callback) {
738
- $caa9439642c6336c$var$initInterceptors2.push(callback);
739
- }
740
- function $caa9439642c6336c$var$initTree(el, walker = $caa9439642c6336c$var$walk, intercept = ()=>{}) {
741
- $caa9439642c6336c$var$deferHandlingDirectives(()=>{
742
- walker(el, (el2, skip)=>{
743
- intercept(el2, skip);
744
- $caa9439642c6336c$var$initInterceptors2.forEach((i)=>i(el2, skip));
745
- $caa9439642c6336c$var$directives(el2, el2.attributes).forEach((handle)=>handle());
746
- el2._x_ignore && skip();
747
- });
748
- });
749
- }
750
- function $caa9439642c6336c$var$destroyTree(root) {
751
- $caa9439642c6336c$var$walk(root, (el)=>$caa9439642c6336c$var$cleanupAttributes(el));
752
- }
753
759
  // packages/alpinejs/src/nextTick.js
754
760
  var $caa9439642c6336c$var$tickStack = [];
755
761
  var $caa9439642c6336c$var$isHolding = false;
@@ -855,7 +861,7 @@ function $caa9439642c6336c$var$once(callback, fallback = ()=>{}) {
855
861
  };
856
862
  }
857
863
  // packages/alpinejs/src/directives/x-transition.js
858
- $caa9439642c6336c$var$directive("transition", (el, { value: value , modifiers: modifiers , expression: expression }, { evaluate: evaluate2 })=>{
864
+ $caa9439642c6336c$var$directive("transition", (el, { value: value, modifiers: modifiers, expression: expression }, { evaluate: evaluate2 })=>{
859
865
  if (typeof expression === "function") expression = evaluate2(expression);
860
866
  if (expression === false) return;
861
867
  if (!expression || typeof expression === "boolean") $caa9439642c6336c$var$registerTransitionsFromHelper(el, modifiers, value);
@@ -864,7 +870,7 @@ $caa9439642c6336c$var$directive("transition", (el, { value: value , modifiers: m
864
870
  function $caa9439642c6336c$var$registerTransitionsFromClassString(el, classString, stage) {
865
871
  $caa9439642c6336c$var$registerTransitionObject(el, $caa9439642c6336c$var$setClasses, "");
866
872
  let directiveStorageMap = {
867
- enter: (classes)=>{
873
+ "enter": (classes)=>{
868
874
  el._x_transition.enter.during = classes;
869
875
  },
870
876
  "enter-start": (classes)=>{
@@ -873,7 +879,7 @@ function $caa9439642c6336c$var$registerTransitionsFromClassString(el, classStrin
873
879
  "enter-end": (classes)=>{
874
880
  el._x_transition.enter.end = classes;
875
881
  },
876
- leave: (classes)=>{
882
+ "leave": (classes)=>{
877
883
  el._x_transition.leave.during = classes;
878
884
  },
879
885
  "leave-start": (classes)=>{
@@ -980,7 +986,7 @@ window.Element.prototype._x_toggleAndCascadeWithTransitions = function(el, value
980
986
  }
981
987
  el._x_hidePromise = el._x_transition ? new Promise((resolve, reject)=>{
982
988
  el._x_transition.out(()=>{}, ()=>resolve(hide));
983
- el._x_transitioning.beforeCancel(()=>reject({
989
+ el._x_transitioning && el._x_transitioning.beforeCancel(()=>reject({
984
990
  isFromCancelledTransition: true
985
991
  }));
986
992
  }) : Promise.resolve(hide);
@@ -1010,7 +1016,7 @@ function $caa9439642c6336c$var$closestHide(el) {
1010
1016
  if (!parent) return;
1011
1017
  return parent._x_hidePromise ? parent : $caa9439642c6336c$var$closestHide(parent);
1012
1018
  }
1013
- function $caa9439642c6336c$var$transition(el, setFunction, { during: during , start: start2 , end: end } = {}, before = ()=>{}, after = ()=>{}) {
1019
+ function $caa9439642c6336c$var$transition(el, setFunction, { during: during, start: start2, end: end } = {}, before = ()=>{}, after = ()=>{}) {
1014
1020
  if (el._x_transitioning) el._x_transitioning.cancel();
1015
1021
  if (Object.keys(during).length === 0 && Object.keys(start2).length === 0 && Object.keys(end).length === 0) {
1016
1022
  before();
@@ -1121,13 +1127,30 @@ function $caa9439642c6336c$var$skipDuringClone(callback, fallback = ()=>{}) {
1121
1127
  function $caa9439642c6336c$var$onlyDuringClone(callback) {
1122
1128
  return (...args)=>$caa9439642c6336c$var$isCloning && callback(...args);
1123
1129
  }
1130
+ var $caa9439642c6336c$var$interceptors = [];
1131
+ function $caa9439642c6336c$var$interceptClone(callback) {
1132
+ $caa9439642c6336c$var$interceptors.push(callback);
1133
+ }
1134
+ function $caa9439642c6336c$var$cloneNode(from, to) {
1135
+ $caa9439642c6336c$var$interceptors.forEach((i)=>i(from, to));
1136
+ $caa9439642c6336c$var$isCloning = true;
1137
+ $caa9439642c6336c$var$dontRegisterReactiveSideEffects(()=>{
1138
+ $caa9439642c6336c$var$initTree(to, (el, callback)=>{
1139
+ callback(el, ()=>{});
1140
+ });
1141
+ });
1142
+ $caa9439642c6336c$var$isCloning = false;
1143
+ }
1144
+ var $caa9439642c6336c$var$isCloningLegacy = false;
1124
1145
  function $caa9439642c6336c$var$clone(oldEl, newEl) {
1125
1146
  if (!newEl._x_dataStack) newEl._x_dataStack = oldEl._x_dataStack;
1126
1147
  $caa9439642c6336c$var$isCloning = true;
1148
+ $caa9439642c6336c$var$isCloningLegacy = true;
1127
1149
  $caa9439642c6336c$var$dontRegisterReactiveSideEffects(()=>{
1128
1150
  $caa9439642c6336c$var$cloneTree(newEl);
1129
1151
  });
1130
1152
  $caa9439642c6336c$var$isCloning = false;
1153
+ $caa9439642c6336c$var$isCloningLegacy = false;
1131
1154
  }
1132
1155
  function $caa9439642c6336c$var$cloneTree(el) {
1133
1156
  let hasRunThroughFirstEl = false;
@@ -1177,10 +1200,13 @@ function $caa9439642c6336c$var$bind(el, name, value, modifiers = []) {
1177
1200
  function $caa9439642c6336c$var$bindInputValue(el, value) {
1178
1201
  if (el.type === "radio") {
1179
1202
  if (el.attributes.value === void 0) el.value = value;
1180
- if (window.fromModel) el.checked = $caa9439642c6336c$var$checkedAttrLooseCompare(el.value, value);
1203
+ if (window.fromModel) {
1204
+ if (typeof value === "boolean") el.checked = $caa9439642c6336c$var$safeParseBoolean(el.value) === value;
1205
+ else el.checked = $caa9439642c6336c$var$checkedAttrLooseCompare(el.value, value);
1206
+ }
1181
1207
  } else if (el.type === "checkbox") {
1182
1208
  if (Number.isInteger(value)) el.value = value;
1183
- else if (!Number.isInteger(value) && !Array.isArray(value) && typeof value !== "boolean" && ![
1209
+ else if (!Array.isArray(value) && typeof value !== "boolean" && ![
1184
1210
  null,
1185
1211
  void 0
1186
1212
  ].includes(value)) el.value = String(value);
@@ -1189,7 +1215,7 @@ function $caa9439642c6336c$var$bindInputValue(el, value) {
1189
1215
  } else if (el.tagName === "SELECT") $caa9439642c6336c$var$updateSelect(el, value);
1190
1216
  else {
1191
1217
  if (el.value === value) return;
1192
- el.value = value;
1218
+ el.value = value === void 0 ? "" : value;
1193
1219
  }
1194
1220
  }
1195
1221
  function $caa9439642c6336c$var$bindClasses(el, value) {
@@ -1235,6 +1261,25 @@ function $caa9439642c6336c$var$camelCase(subject) {
1235
1261
  function $caa9439642c6336c$var$checkedAttrLooseCompare(valueA, valueB) {
1236
1262
  return valueA == valueB;
1237
1263
  }
1264
+ function $caa9439642c6336c$var$safeParseBoolean(rawValue) {
1265
+ if ([
1266
+ 1,
1267
+ "1",
1268
+ "true",
1269
+ "on",
1270
+ "yes",
1271
+ true
1272
+ ].includes(rawValue)) return true;
1273
+ if ([
1274
+ 0,
1275
+ "0",
1276
+ "false",
1277
+ "off",
1278
+ "no",
1279
+ false
1280
+ ].includes(rawValue)) return false;
1281
+ return rawValue ? Boolean(rawValue) : null;
1282
+ }
1238
1283
  function $caa9439642c6336c$var$isBooleanAttr(attrName) {
1239
1284
  const booleanAttributes = [
1240
1285
  "disabled",
@@ -1275,6 +1320,20 @@ function $caa9439642c6336c$var$attributeShouldntBePreservedIfFalsy(name) {
1275
1320
  }
1276
1321
  function $caa9439642c6336c$var$getBinding(el, name, fallback) {
1277
1322
  if (el._x_bindings && el._x_bindings[name] !== void 0) return el._x_bindings[name];
1323
+ return $caa9439642c6336c$var$getAttributeBinding(el, name, fallback);
1324
+ }
1325
+ function $caa9439642c6336c$var$extractProp(el, name, fallback, extract = true) {
1326
+ if (el._x_bindings && el._x_bindings[name] !== void 0) return el._x_bindings[name];
1327
+ if (el._x_inlineBindings && el._x_inlineBindings[name] !== void 0) {
1328
+ let binding = el._x_inlineBindings[name];
1329
+ binding.extract = extract;
1330
+ return $caa9439642c6336c$var$dontAutoEvaluateFunctions(()=>{
1331
+ return $caa9439642c6336c$var$evaluate(el, binding.expression);
1332
+ });
1333
+ }
1334
+ return $caa9439642c6336c$var$getAttributeBinding(el, name, fallback);
1335
+ }
1336
+ function $caa9439642c6336c$var$getAttributeBinding(el, name, fallback) {
1278
1337
  let attr = el.getAttribute(name);
1279
1338
  if (attr === null) return typeof fallback === "function" ? fallback() : fallback;
1280
1339
  if (attr === "") return true;
@@ -1309,6 +1368,37 @@ function $caa9439642c6336c$var$throttle(func, limit) {
1309
1368
  }
1310
1369
  };
1311
1370
  }
1371
+ // packages/alpinejs/src/entangle.js
1372
+ function $caa9439642c6336c$var$entangle({ get: outerGet, set: outerSet }, { get: innerGet, set: innerSet }) {
1373
+ let firstRun = true;
1374
+ let outerHash;
1375
+ let reference = $caa9439642c6336c$var$effect(()=>{
1376
+ const outer = outerGet();
1377
+ const inner = innerGet();
1378
+ if (firstRun) {
1379
+ innerSet($caa9439642c6336c$var$cloneIfObject(outer));
1380
+ firstRun = false;
1381
+ outerHash = JSON.stringify(outer);
1382
+ } else {
1383
+ const outerHashLatest = JSON.stringify(outer);
1384
+ if (outerHashLatest !== outerHash) {
1385
+ innerSet($caa9439642c6336c$var$cloneIfObject(outer));
1386
+ outerHash = outerHashLatest;
1387
+ } else {
1388
+ outerSet($caa9439642c6336c$var$cloneIfObject(inner));
1389
+ outerHash = JSON.stringify(inner);
1390
+ }
1391
+ }
1392
+ JSON.stringify(innerGet());
1393
+ JSON.stringify(outerGet());
1394
+ });
1395
+ return ()=>{
1396
+ $caa9439642c6336c$var$release(reference);
1397
+ };
1398
+ }
1399
+ function $caa9439642c6336c$var$cloneIfObject(value) {
1400
+ return typeof value === "object" ? JSON.parse(JSON.stringify(value)) : value;
1401
+ }
1312
1402
  // packages/alpinejs/src/plugin.js
1313
1403
  function $caa9439642c6336c$var$plugin(callback) {
1314
1404
  let callbacks = Array.isArray(callback) ? callback : [
@@ -1327,7 +1417,7 @@ function $caa9439642c6336c$var$store(name, value) {
1327
1417
  if (value === void 0) return $caa9439642c6336c$var$stores[name];
1328
1418
  $caa9439642c6336c$var$stores[name] = value;
1329
1419
  if (typeof value === "object" && value !== null && value.hasOwnProperty("init") && typeof value.init === "function") $caa9439642c6336c$var$stores[name].init();
1330
- $caa9439642c6336c$var$initInterceptors($caa9439642c6336c$var$stores[name]);
1420
+ $caa9439642c6336c$var$initInterceptors2($caa9439642c6336c$var$stores[name]);
1331
1421
  }
1332
1422
  function $caa9439642c6336c$var$getStores() {
1333
1423
  return $caa9439642c6336c$var$stores;
@@ -1336,8 +1426,9 @@ function $caa9439642c6336c$var$getStores() {
1336
1426
  var $caa9439642c6336c$var$binds = {};
1337
1427
  function $caa9439642c6336c$var$bind2(name, bindings) {
1338
1428
  let getBindings = typeof bindings !== "function" ? ()=>bindings : bindings;
1339
- if (name instanceof Element) $caa9439642c6336c$var$applyBindingsObject(name, getBindings());
1429
+ if (name instanceof Element) return $caa9439642c6336c$var$applyBindingsObject(name, getBindings());
1340
1430
  else $caa9439642c6336c$var$binds[name] = getBindings;
1431
+ return ()=>{};
1341
1432
  }
1342
1433
  function $caa9439642c6336c$var$injectBindingProviders(obj) {
1343
1434
  Object.entries($caa9439642c6336c$var$binds).forEach(([name, callback])=>{
@@ -1370,6 +1461,9 @@ function $caa9439642c6336c$var$applyBindingsObject(el, obj, original) {
1370
1461
  cleanupRunners.push(handle.runCleanups);
1371
1462
  handle();
1372
1463
  });
1464
+ return ()=>{
1465
+ while(cleanupRunners.length)cleanupRunners.pop()();
1466
+ };
1373
1467
  }
1374
1468
  // packages/alpinejs/src/datas.js
1375
1469
  var $caa9439642c6336c$var$datas = {};
@@ -1403,18 +1497,21 @@ var $caa9439642c6336c$var$Alpine = {
1403
1497
  get raw () {
1404
1498
  return $caa9439642c6336c$var$raw;
1405
1499
  },
1406
- version: "3.12.2",
1500
+ version: "3.13.3",
1407
1501
  flushAndStopDeferringMutations: $caa9439642c6336c$var$flushAndStopDeferringMutations,
1408
1502
  dontAutoEvaluateFunctions: $caa9439642c6336c$var$dontAutoEvaluateFunctions,
1409
1503
  disableEffectScheduling: $caa9439642c6336c$var$disableEffectScheduling,
1410
1504
  startObservingMutations: $caa9439642c6336c$var$startObservingMutations,
1411
1505
  stopObservingMutations: $caa9439642c6336c$var$stopObservingMutations,
1412
1506
  setReactivityEngine: $caa9439642c6336c$var$setReactivityEngine,
1507
+ onAttributeRemoved: $caa9439642c6336c$var$onAttributeRemoved,
1508
+ onAttributesAdded: $caa9439642c6336c$var$onAttributesAdded,
1413
1509
  closestDataStack: $caa9439642c6336c$var$closestDataStack,
1414
1510
  skipDuringClone: $caa9439642c6336c$var$skipDuringClone,
1415
1511
  onlyDuringClone: $caa9439642c6336c$var$onlyDuringClone,
1416
1512
  addRootSelector: $caa9439642c6336c$var$addRootSelector,
1417
1513
  addInitSelector: $caa9439642c6336c$var$addInitSelector,
1514
+ interceptClone: $caa9439642c6336c$var$interceptClone,
1418
1515
  addScopeToNode: $caa9439642c6336c$var$addScopeToNode,
1419
1516
  deferMutations: $caa9439642c6336c$var$deferMutations,
1420
1517
  mapAttributes: $caa9439642c6336c$var$mapAttributes,
@@ -1422,14 +1519,20 @@ var $caa9439642c6336c$var$Alpine = {
1422
1519
  interceptInit: $caa9439642c6336c$var$interceptInit,
1423
1520
  setEvaluator: $caa9439642c6336c$var$setEvaluator,
1424
1521
  mergeProxies: $caa9439642c6336c$var$mergeProxies,
1522
+ extractProp: $caa9439642c6336c$var$extractProp,
1425
1523
  findClosest: $caa9439642c6336c$var$findClosest,
1524
+ onElRemoved: $caa9439642c6336c$var$onElRemoved,
1426
1525
  closestRoot: $caa9439642c6336c$var$closestRoot,
1427
1526
  destroyTree: $caa9439642c6336c$var$destroyTree,
1428
1527
  interceptor: $caa9439642c6336c$var$interceptor,
1429
- transition: $caa9439642c6336c$var$transition,
1430
- setStyles: $caa9439642c6336c$var$setStyles,
1431
- mutateDom: $caa9439642c6336c$var$mutateDom,
1528
+ transition: // INTERNAL: not public API and is subject to change without major release.
1529
+ $caa9439642c6336c$var$transition,
1530
+ setStyles: // INTERNAL
1531
+ $caa9439642c6336c$var$setStyles,
1532
+ mutateDom: // INTERNAL
1533
+ $caa9439642c6336c$var$mutateDom,
1432
1534
  directive: $caa9439642c6336c$var$directive,
1535
+ entangle: $caa9439642c6336c$var$entangle,
1433
1536
  throttle: $caa9439642c6336c$var$throttle,
1434
1537
  debounce: $caa9439642c6336c$var$debounce,
1435
1538
  evaluate: $caa9439642c6336c$var$evaluate,
@@ -1442,6 +1545,9 @@ var $caa9439642c6336c$var$Alpine = {
1442
1545
  store: $caa9439642c6336c$var$store,
1443
1546
  start: $caa9439642c6336c$var$start,
1444
1547
  clone: $caa9439642c6336c$var$clone,
1548
+ cloneNode: // INTERNAL
1549
+ $caa9439642c6336c$var$cloneNode,
1550
+ // INTERNAL
1445
1551
  bound: $caa9439642c6336c$var$getBinding,
1446
1552
  $data: $caa9439642c6336c$var$scope,
1447
1553
  walk: $caa9439642c6336c$var$walk,
@@ -1451,37 +1557,15 @@ var $caa9439642c6336c$var$Alpine = {
1451
1557
  var $caa9439642c6336c$var$alpine_default = $caa9439642c6336c$var$Alpine;
1452
1558
  // node_modules/@vue/shared/dist/shared.esm-bundler.js
1453
1559
  function $caa9439642c6336c$var$makeMap(str, expectsLowerCase) {
1454
- const map = Object.create(null);
1560
+ const map = /* @__PURE__ */ Object.create(null);
1455
1561
  const list = str.split(",");
1456
1562
  for(let i = 0; i < list.length; i++)map[list[i]] = true;
1457
1563
  return expectsLowerCase ? (val)=>!!map[val.toLowerCase()] : (val)=>!!map[val];
1458
1564
  }
1459
- var $caa9439642c6336c$var$PatchFlagNames = {
1460
- [1]: `TEXT`,
1461
- [2]: `CLASS`,
1462
- [4]: `STYLE`,
1463
- [8]: `PROPS`,
1464
- [16]: `FULL_PROPS`,
1465
- [32]: `HYDRATE_EVENTS`,
1466
- [64]: `STABLE_FRAGMENT`,
1467
- [128]: `KEYED_FRAGMENT`,
1468
- [256]: `UNKEYED_FRAGMENT`,
1469
- [512]: `NEED_PATCH`,
1470
- [1024]: `DYNAMIC_SLOTS`,
1471
- [2048]: `DEV_ROOT_FRAGMENT`,
1472
- [-1]: `HOISTED`,
1473
- [-2]: `BAIL`
1474
- };
1475
- var $caa9439642c6336c$var$slotFlagsText = {
1476
- [1]: "STABLE",
1477
- [2]: "DYNAMIC",
1478
- [3]: "FORWARDED"
1479
- };
1480
1565
  var $caa9439642c6336c$var$specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
1481
1566
  var $caa9439642c6336c$var$isBooleanAttr2 = /* @__PURE__ */ $caa9439642c6336c$var$makeMap($caa9439642c6336c$var$specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);
1482
1567
  var $caa9439642c6336c$var$EMPTY_OBJ = Object.freeze({});
1483
1568
  var $caa9439642c6336c$var$EMPTY_ARR = Object.freeze([]);
1484
- var $caa9439642c6336c$var$extend = Object.assign;
1485
1569
  var $caa9439642c6336c$var$hasOwnProperty = Object.prototype.hasOwnProperty;
1486
1570
  var $caa9439642c6336c$var$hasOwn = (val, key)=>$caa9439642c6336c$var$hasOwnProperty.call(val, key);
1487
1571
  var $caa9439642c6336c$var$isArray = Array.isArray;
@@ -1496,7 +1580,7 @@ var $caa9439642c6336c$var$toRawType = (value)=>{
1496
1580
  };
1497
1581
  var $caa9439642c6336c$var$isIntegerKey = (key)=>$caa9439642c6336c$var$isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
1498
1582
  var $caa9439642c6336c$var$cacheStringFunction = (fn)=>{
1499
- const cache = Object.create(null);
1583
+ const cache = /* @__PURE__ */ Object.create(null);
1500
1584
  return (str)=>{
1501
1585
  const hit = cache[str];
1502
1586
  return hit || (cache[str] = fn(str));
@@ -1512,7 +1596,7 @@ var $caa9439642c6336c$var$capitalize = $caa9439642c6336c$var$cacheStringFunction
1512
1596
  var $caa9439642c6336c$var$toHandlerKey = $caa9439642c6336c$var$cacheStringFunction((str)=>str ? `on${$caa9439642c6336c$var$capitalize(str)}` : ``);
1513
1597
  var $caa9439642c6336c$var$hasChanged = (value, oldValue)=>value !== oldValue && (value === value || oldValue === oldValue);
1514
1598
  // node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
1515
- var $caa9439642c6336c$var$targetMap = new WeakMap();
1599
+ var $caa9439642c6336c$var$targetMap = /* @__PURE__ */ new WeakMap();
1516
1600
  var $caa9439642c6336c$var$effectStack = [];
1517
1601
  var $caa9439642c6336c$var$activeEffect;
1518
1602
  var $caa9439642c6336c$var$ITERATE_KEY = Symbol("iterate");
@@ -1561,7 +1645,7 @@ function $caa9439642c6336c$var$createReactiveEffect(fn, options) {
1561
1645
  return effect3;
1562
1646
  }
1563
1647
  function $caa9439642c6336c$var$cleanup(effect3) {
1564
- const { deps: deps } = effect3;
1648
+ const { deps: deps } = effect3;
1565
1649
  if (deps.length) {
1566
1650
  for(let i = 0; i < deps.length; i++)deps[i].delete(effect3);
1567
1651
  deps.length = 0;
@@ -1584,9 +1668,9 @@ function $caa9439642c6336c$var$resetTracking() {
1584
1668
  function $caa9439642c6336c$var$track(target, type, key) {
1585
1669
  if (!$caa9439642c6336c$var$shouldTrack || $caa9439642c6336c$var$activeEffect === void 0) return;
1586
1670
  let depsMap = $caa9439642c6336c$var$targetMap.get(target);
1587
- if (!depsMap) $caa9439642c6336c$var$targetMap.set(target, depsMap = new Map());
1671
+ if (!depsMap) $caa9439642c6336c$var$targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
1588
1672
  let dep = depsMap.get(key);
1589
- if (!dep) depsMap.set(key, dep = new Set());
1673
+ if (!dep) depsMap.set(key, dep = /* @__PURE__ */ new Set());
1590
1674
  if (!dep.has($caa9439642c6336c$var$activeEffect)) {
1591
1675
  dep.add($caa9439642c6336c$var$activeEffect);
1592
1676
  $caa9439642c6336c$var$activeEffect.deps.push(dep);
@@ -1601,7 +1685,7 @@ function $caa9439642c6336c$var$track(target, type, key) {
1601
1685
  function $caa9439642c6336c$var$trigger(target, type, key, newValue, oldValue, oldTarget) {
1602
1686
  const depsMap = $caa9439642c6336c$var$targetMap.get(target);
1603
1687
  if (!depsMap) return;
1604
- const effects = new Set();
1688
+ const effects = /* @__PURE__ */ new Set();
1605
1689
  const add2 = (effectsToAdd)=>{
1606
1690
  if (effectsToAdd) effectsToAdd.forEach((effect3)=>{
1607
1691
  if (effect3 !== $caa9439642c6336c$var$activeEffect || effect3.allowRecurse) effects.add(effect3);
@@ -1649,39 +1733,39 @@ function $caa9439642c6336c$var$trigger(target, type, key, newValue, oldValue, ol
1649
1733
  var $caa9439642c6336c$var$isNonTrackableKeys = /* @__PURE__ */ $caa9439642c6336c$var$makeMap(`__proto__,__v_isRef,__isVue`);
1650
1734
  var $caa9439642c6336c$var$builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key)=>Symbol[key]).filter($caa9439642c6336c$var$isSymbol));
1651
1735
  var $caa9439642c6336c$var$get2 = /* @__PURE__ */ $caa9439642c6336c$var$createGetter();
1652
- var $caa9439642c6336c$var$shallowGet = /* @__PURE__ */ $caa9439642c6336c$var$createGetter(false, true);
1653
1736
  var $caa9439642c6336c$var$readonlyGet = /* @__PURE__ */ $caa9439642c6336c$var$createGetter(true);
1654
- var $caa9439642c6336c$var$shallowReadonlyGet = /* @__PURE__ */ $caa9439642c6336c$var$createGetter(true, true);
1655
- var $caa9439642c6336c$var$arrayInstrumentations = {};
1656
- [
1657
- "includes",
1658
- "indexOf",
1659
- "lastIndexOf"
1660
- ].forEach((key)=>{
1661
- const method = Array.prototype[key];
1662
- $caa9439642c6336c$var$arrayInstrumentations[key] = function(...args) {
1663
- const arr = $caa9439642c6336c$var$toRaw(this);
1664
- for(let i = 0, l = this.length; i < l; i++)$caa9439642c6336c$var$track(arr, "get", i + "");
1665
- const res = method.apply(arr, args);
1666
- if (res === -1 || res === false) return method.apply(arr, args.map($caa9439642c6336c$var$toRaw));
1667
- else return res;
1668
- };
1669
- });
1670
- [
1671
- "push",
1672
- "pop",
1673
- "shift",
1674
- "unshift",
1675
- "splice"
1676
- ].forEach((key)=>{
1677
- const method = Array.prototype[key];
1678
- $caa9439642c6336c$var$arrayInstrumentations[key] = function(...args) {
1679
- $caa9439642c6336c$var$pauseTracking();
1680
- const res = method.apply(this, args);
1681
- $caa9439642c6336c$var$resetTracking();
1682
- return res;
1683
- };
1684
- });
1737
+ var $caa9439642c6336c$var$arrayInstrumentations = /* @__PURE__ */ $caa9439642c6336c$var$createArrayInstrumentations();
1738
+ function $caa9439642c6336c$var$createArrayInstrumentations() {
1739
+ const instrumentations = {};
1740
+ [
1741
+ "includes",
1742
+ "indexOf",
1743
+ "lastIndexOf"
1744
+ ].forEach((key)=>{
1745
+ instrumentations[key] = function(...args) {
1746
+ const arr = $caa9439642c6336c$var$toRaw(this);
1747
+ for(let i = 0, l = this.length; i < l; i++)$caa9439642c6336c$var$track(arr, "get", i + "");
1748
+ const res = arr[key](...args);
1749
+ if (res === -1 || res === false) return arr[key](...args.map($caa9439642c6336c$var$toRaw));
1750
+ else return res;
1751
+ };
1752
+ });
1753
+ [
1754
+ "push",
1755
+ "pop",
1756
+ "shift",
1757
+ "unshift",
1758
+ "splice"
1759
+ ].forEach((key)=>{
1760
+ instrumentations[key] = function(...args) {
1761
+ $caa9439642c6336c$var$pauseTracking();
1762
+ const res = $caa9439642c6336c$var$toRaw(this)[key].apply(this, args);
1763
+ $caa9439642c6336c$var$resetTracking();
1764
+ return res;
1765
+ };
1766
+ });
1767
+ return instrumentations;
1768
+ }
1685
1769
  function $caa9439642c6336c$var$createGetter(isReadonly = false, shallow = false) {
1686
1770
  return function get3(target, key, receiver) {
1687
1771
  if (key === "__v_isReactive") return !isReadonly;
@@ -1702,7 +1786,6 @@ function $caa9439642c6336c$var$createGetter(isReadonly = false, shallow = false)
1702
1786
  };
1703
1787
  }
1704
1788
  var $caa9439642c6336c$var$set2 = /* @__PURE__ */ $caa9439642c6336c$var$createSetter();
1705
- var $caa9439642c6336c$var$shallowSet = /* @__PURE__ */ $caa9439642c6336c$var$createSetter(true);
1706
1789
  function $caa9439642c6336c$var$createSetter(shallow = false) {
1707
1790
  return function set3(target, key, value, receiver) {
1708
1791
  let oldValue = target[key];
@@ -1757,13 +1840,6 @@ var $caa9439642c6336c$var$readonlyHandlers = {
1757
1840
  return true;
1758
1841
  }
1759
1842
  };
1760
- var $caa9439642c6336c$var$shallowReactiveHandlers = $caa9439642c6336c$var$extend({}, $caa9439642c6336c$var$mutableHandlers, {
1761
- get: $caa9439642c6336c$var$shallowGet,
1762
- set: $caa9439642c6336c$var$shallowSet
1763
- });
1764
- var $caa9439642c6336c$var$shallowReadonlyHandlers = $caa9439642c6336c$var$extend({}, $caa9439642c6336c$var$readonlyHandlers, {
1765
- get: $caa9439642c6336c$var$shallowReadonlyGet
1766
- });
1767
1843
  var $caa9439642c6336c$var$toReactive = (value)=>$caa9439642c6336c$var$isObject(value) ? $caa9439642c6336c$var$reactive2(value) : value;
1768
1844
  var $caa9439642c6336c$var$toReadonly = (value)=>$caa9439642c6336c$var$isObject(value) ? $caa9439642c6336c$var$readonly(value) : value;
1769
1845
  var $caa9439642c6336c$var$toShallow = (value)=>value;
@@ -1774,7 +1850,7 @@ function $caa9439642c6336c$var$get$1(target, key, isReadonly = false, isShallow
1774
1850
  const rawKey = $caa9439642c6336c$var$toRaw(key);
1775
1851
  if (key !== rawKey) !isReadonly && $caa9439642c6336c$var$track(rawTarget, "get", key);
1776
1852
  !isReadonly && $caa9439642c6336c$var$track(rawTarget, "get", rawKey);
1777
- const { has: has2 } = $caa9439642c6336c$var$getProto(rawTarget);
1853
+ const { has: has2 } = $caa9439642c6336c$var$getProto(rawTarget);
1778
1854
  const wrap = isShallow ? $caa9439642c6336c$var$toShallow : isReadonly ? $caa9439642c6336c$var$toReadonly : $caa9439642c6336c$var$toReactive;
1779
1855
  if (has2.call(rawTarget, key)) return wrap(target.get(key));
1780
1856
  else if (has2.call(rawTarget, rawKey)) return wrap(target.get(rawKey));
@@ -1807,7 +1883,7 @@ function $caa9439642c6336c$var$add(value) {
1807
1883
  function $caa9439642c6336c$var$set$1(key, value) {
1808
1884
  value = $caa9439642c6336c$var$toRaw(value);
1809
1885
  const target = $caa9439642c6336c$var$toRaw(this);
1810
- const { has: has2 , get: get3 } = $caa9439642c6336c$var$getProto(target);
1886
+ const { has: has2, get: get3 } = $caa9439642c6336c$var$getProto(target);
1811
1887
  let hadKey = has2.call(target, key);
1812
1888
  if (!hadKey) {
1813
1889
  key = $caa9439642c6336c$var$toRaw(key);
@@ -1821,7 +1897,7 @@ function $caa9439642c6336c$var$set$1(key, value) {
1821
1897
  }
1822
1898
  function $caa9439642c6336c$var$deleteEntry(key) {
1823
1899
  const target = $caa9439642c6336c$var$toRaw(this);
1824
- const { has: has2 , get: get3 } = $caa9439642c6336c$var$getProto(target);
1900
+ const { has: has2, get: get3 } = $caa9439642c6336c$var$getProto(target);
1825
1901
  let hadKey = has2.call(target, key);
1826
1902
  if (!hadKey) {
1827
1903
  key = $caa9439642c6336c$var$toRaw(key);
@@ -1863,8 +1939,9 @@ function $caa9439642c6336c$var$createIterableMethod(method, isReadonly, isShallo
1863
1939
  const wrap = isShallow ? $caa9439642c6336c$var$toShallow : isReadonly ? $caa9439642c6336c$var$toReadonly : $caa9439642c6336c$var$toReactive;
1864
1940
  !isReadonly && $caa9439642c6336c$var$track(rawTarget, "iterate", isKeyOnly ? $caa9439642c6336c$var$MAP_KEY_ITERATE_KEY : $caa9439642c6336c$var$ITERATE_KEY);
1865
1941
  return {
1942
+ // iterator protocol
1866
1943
  next () {
1867
- const { value: value , done: done } = innerIterator.next();
1944
+ const { value: value, done: done } = innerIterator.next();
1868
1945
  return done ? {
1869
1946
  value: value,
1870
1947
  done: done
@@ -1876,6 +1953,7 @@ function $caa9439642c6336c$var$createIterableMethod(method, isReadonly, isShallo
1876
1953
  done: done
1877
1954
  };
1878
1955
  },
1956
+ // iterable protocol
1879
1957
  [Symbol.iterator] () {
1880
1958
  return this;
1881
1959
  }
@@ -1891,78 +1969,87 @@ function $caa9439642c6336c$var$createReadonlyMethod(type) {
1891
1969
  return type === "delete" ? false : this;
1892
1970
  };
1893
1971
  }
1894
- var $caa9439642c6336c$var$mutableInstrumentations = {
1895
- get (key) {
1896
- return $caa9439642c6336c$var$get$1(this, key);
1897
- },
1898
- get size () {
1899
- return $caa9439642c6336c$var$size(this);
1900
- },
1901
- has: $caa9439642c6336c$var$has$1,
1902
- add: $caa9439642c6336c$var$add,
1903
- set: $caa9439642c6336c$var$set$1,
1904
- delete: $caa9439642c6336c$var$deleteEntry,
1905
- clear: $caa9439642c6336c$var$clear,
1906
- forEach: $caa9439642c6336c$var$createForEach(false, false)
1907
- };
1908
- var $caa9439642c6336c$var$shallowInstrumentations = {
1909
- get (key) {
1910
- return $caa9439642c6336c$var$get$1(this, key, false, true);
1911
- },
1912
- get size () {
1913
- return $caa9439642c6336c$var$size(this);
1914
- },
1915
- has: $caa9439642c6336c$var$has$1,
1916
- add: $caa9439642c6336c$var$add,
1917
- set: $caa9439642c6336c$var$set$1,
1918
- delete: $caa9439642c6336c$var$deleteEntry,
1919
- clear: $caa9439642c6336c$var$clear,
1920
- forEach: $caa9439642c6336c$var$createForEach(false, true)
1921
- };
1922
- var $caa9439642c6336c$var$readonlyInstrumentations = {
1923
- get (key) {
1924
- return $caa9439642c6336c$var$get$1(this, key, true);
1925
- },
1926
- get size () {
1927
- return $caa9439642c6336c$var$size(this, true);
1928
- },
1929
- has (key) {
1930
- return $caa9439642c6336c$var$has$1.call(this, key, true);
1931
- },
1932
- add: $caa9439642c6336c$var$createReadonlyMethod("add"),
1933
- set: $caa9439642c6336c$var$createReadonlyMethod("set"),
1934
- delete: $caa9439642c6336c$var$createReadonlyMethod("delete"),
1935
- clear: $caa9439642c6336c$var$createReadonlyMethod("clear"),
1936
- forEach: $caa9439642c6336c$var$createForEach(true, false)
1937
- };
1938
- var $caa9439642c6336c$var$shallowReadonlyInstrumentations = {
1939
- get (key) {
1940
- return $caa9439642c6336c$var$get$1(this, key, true, true);
1941
- },
1942
- get size () {
1943
- return $caa9439642c6336c$var$size(this, true);
1944
- },
1945
- has (key) {
1946
- return $caa9439642c6336c$var$has$1.call(this, key, true);
1947
- },
1948
- add: $caa9439642c6336c$var$createReadonlyMethod("add"),
1949
- set: $caa9439642c6336c$var$createReadonlyMethod("set"),
1950
- delete: $caa9439642c6336c$var$createReadonlyMethod("delete"),
1951
- clear: $caa9439642c6336c$var$createReadonlyMethod("clear"),
1952
- forEach: $caa9439642c6336c$var$createForEach(true, true)
1953
- };
1954
- var $caa9439642c6336c$var$iteratorMethods = [
1955
- "keys",
1956
- "values",
1957
- "entries",
1958
- Symbol.iterator
1959
- ];
1960
- $caa9439642c6336c$var$iteratorMethods.forEach((method)=>{
1961
- $caa9439642c6336c$var$mutableInstrumentations[method] = $caa9439642c6336c$var$createIterableMethod(method, false, false);
1962
- $caa9439642c6336c$var$readonlyInstrumentations[method] = $caa9439642c6336c$var$createIterableMethod(method, true, false);
1963
- $caa9439642c6336c$var$shallowInstrumentations[method] = $caa9439642c6336c$var$createIterableMethod(method, false, true);
1964
- $caa9439642c6336c$var$shallowReadonlyInstrumentations[method] = $caa9439642c6336c$var$createIterableMethod(method, true, true);
1965
- });
1972
+ function $caa9439642c6336c$var$createInstrumentations() {
1973
+ const mutableInstrumentations2 = {
1974
+ get (key) {
1975
+ return $caa9439642c6336c$var$get$1(this, key);
1976
+ },
1977
+ get size () {
1978
+ return $caa9439642c6336c$var$size(this);
1979
+ },
1980
+ has: $caa9439642c6336c$var$has$1,
1981
+ add: $caa9439642c6336c$var$add,
1982
+ set: $caa9439642c6336c$var$set$1,
1983
+ delete: $caa9439642c6336c$var$deleteEntry,
1984
+ clear: $caa9439642c6336c$var$clear,
1985
+ forEach: $caa9439642c6336c$var$createForEach(false, false)
1986
+ };
1987
+ const shallowInstrumentations2 = {
1988
+ get (key) {
1989
+ return $caa9439642c6336c$var$get$1(this, key, false, true);
1990
+ },
1991
+ get size () {
1992
+ return $caa9439642c6336c$var$size(this);
1993
+ },
1994
+ has: $caa9439642c6336c$var$has$1,
1995
+ add: $caa9439642c6336c$var$add,
1996
+ set: $caa9439642c6336c$var$set$1,
1997
+ delete: $caa9439642c6336c$var$deleteEntry,
1998
+ clear: $caa9439642c6336c$var$clear,
1999
+ forEach: $caa9439642c6336c$var$createForEach(false, true)
2000
+ };
2001
+ const readonlyInstrumentations2 = {
2002
+ get (key) {
2003
+ return $caa9439642c6336c$var$get$1(this, key, true);
2004
+ },
2005
+ get size () {
2006
+ return $caa9439642c6336c$var$size(this, true);
2007
+ },
2008
+ has (key) {
2009
+ return $caa9439642c6336c$var$has$1.call(this, key, true);
2010
+ },
2011
+ add: $caa9439642c6336c$var$createReadonlyMethod("add"),
2012
+ set: $caa9439642c6336c$var$createReadonlyMethod("set"),
2013
+ delete: $caa9439642c6336c$var$createReadonlyMethod("delete"),
2014
+ clear: $caa9439642c6336c$var$createReadonlyMethod("clear"),
2015
+ forEach: $caa9439642c6336c$var$createForEach(true, false)
2016
+ };
2017
+ const shallowReadonlyInstrumentations2 = {
2018
+ get (key) {
2019
+ return $caa9439642c6336c$var$get$1(this, key, true, true);
2020
+ },
2021
+ get size () {
2022
+ return $caa9439642c6336c$var$size(this, true);
2023
+ },
2024
+ has (key) {
2025
+ return $caa9439642c6336c$var$has$1.call(this, key, true);
2026
+ },
2027
+ add: $caa9439642c6336c$var$createReadonlyMethod("add"),
2028
+ set: $caa9439642c6336c$var$createReadonlyMethod("set"),
2029
+ delete: $caa9439642c6336c$var$createReadonlyMethod("delete"),
2030
+ clear: $caa9439642c6336c$var$createReadonlyMethod("clear"),
2031
+ forEach: $caa9439642c6336c$var$createForEach(true, true)
2032
+ };
2033
+ const iteratorMethods = [
2034
+ "keys",
2035
+ "values",
2036
+ "entries",
2037
+ Symbol.iterator
2038
+ ];
2039
+ iteratorMethods.forEach((method)=>{
2040
+ mutableInstrumentations2[method] = $caa9439642c6336c$var$createIterableMethod(method, false, false);
2041
+ readonlyInstrumentations2[method] = $caa9439642c6336c$var$createIterableMethod(method, true, false);
2042
+ shallowInstrumentations2[method] = $caa9439642c6336c$var$createIterableMethod(method, false, true);
2043
+ shallowReadonlyInstrumentations2[method] = $caa9439642c6336c$var$createIterableMethod(method, true, true);
2044
+ });
2045
+ return [
2046
+ mutableInstrumentations2,
2047
+ readonlyInstrumentations2,
2048
+ shallowInstrumentations2,
2049
+ shallowReadonlyInstrumentations2
2050
+ ];
2051
+ }
2052
+ var [$caa9439642c6336c$var$mutableInstrumentations, $caa9439642c6336c$var$readonlyInstrumentations, $caa9439642c6336c$var$shallowInstrumentations, $caa9439642c6336c$var$shallowReadonlyInstrumentations] = /* @__PURE__ */ $caa9439642c6336c$var$createInstrumentations();
1966
2053
  function $caa9439642c6336c$var$createInstrumentationGetter(isReadonly, shallow) {
1967
2054
  const instrumentations = shallow ? isReadonly ? $caa9439642c6336c$var$shallowReadonlyInstrumentations : $caa9439642c6336c$var$shallowInstrumentations : isReadonly ? $caa9439642c6336c$var$readonlyInstrumentations : $caa9439642c6336c$var$mutableInstrumentations;
1968
2055
  return (target, key, receiver)=>{
@@ -1973,16 +2060,10 @@ function $caa9439642c6336c$var$createInstrumentationGetter(isReadonly, shallow)
1973
2060
  };
1974
2061
  }
1975
2062
  var $caa9439642c6336c$var$mutableCollectionHandlers = {
1976
- get: $caa9439642c6336c$var$createInstrumentationGetter(false, false)
1977
- };
1978
- var $caa9439642c6336c$var$shallowCollectionHandlers = {
1979
- get: $caa9439642c6336c$var$createInstrumentationGetter(false, true)
2063
+ get: /* @__PURE__ */ $caa9439642c6336c$var$createInstrumentationGetter(false, false)
1980
2064
  };
1981
2065
  var $caa9439642c6336c$var$readonlyCollectionHandlers = {
1982
- get: $caa9439642c6336c$var$createInstrumentationGetter(true, false)
1983
- };
1984
- var $caa9439642c6336c$var$shallowReadonlyCollectionHandlers = {
1985
- get: $caa9439642c6336c$var$createInstrumentationGetter(true, true)
2066
+ get: /* @__PURE__ */ $caa9439642c6336c$var$createInstrumentationGetter(true, false)
1986
2067
  };
1987
2068
  function $caa9439642c6336c$var$checkIdentityKeys(target, has2, key) {
1988
2069
  const rawKey = $caa9439642c6336c$var$toRaw(key);
@@ -1991,10 +2072,10 @@ function $caa9439642c6336c$var$checkIdentityKeys(target, has2, key) {
1991
2072
  console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);
1992
2073
  }
1993
2074
  }
1994
- var $caa9439642c6336c$var$reactiveMap = new WeakMap();
1995
- var $caa9439642c6336c$var$shallowReactiveMap = new WeakMap();
1996
- var $caa9439642c6336c$var$readonlyMap = new WeakMap();
1997
- var $caa9439642c6336c$var$shallowReadonlyMap = new WeakMap();
2075
+ var $caa9439642c6336c$var$reactiveMap = /* @__PURE__ */ new WeakMap();
2076
+ var $caa9439642c6336c$var$shallowReactiveMap = /* @__PURE__ */ new WeakMap();
2077
+ var $caa9439642c6336c$var$readonlyMap = /* @__PURE__ */ new WeakMap();
2078
+ var $caa9439642c6336c$var$shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
1998
2079
  function $caa9439642c6336c$var$targetTypeMap(rawType) {
1999
2080
  switch(rawType){
2000
2081
  case "Object":
@@ -2044,7 +2125,7 @@ $caa9439642c6336c$var$magic("nextTick", ()=>$caa9439642c6336c$var$nextTick);
2044
2125
  // packages/alpinejs/src/magics/$dispatch.js
2045
2126
  $caa9439642c6336c$var$magic("dispatch", (el)=>$caa9439642c6336c$var$dispatch.bind($caa9439642c6336c$var$dispatch, el));
2046
2127
  // packages/alpinejs/src/magics/$watch.js
2047
- $caa9439642c6336c$var$magic("watch", (el, { evaluateLater: evaluateLater2 , effect: effect3 })=>(key, callback)=>{
2128
+ $caa9439642c6336c$var$magic("watch", (el, { evaluateLater: evaluateLater2, effect: effect3 })=>(key, callback)=>{
2048
2129
  let evaluate2 = evaluateLater2(key);
2049
2130
  let firstTime = true;
2050
2131
  let oldValue;
@@ -2107,42 +2188,10 @@ $caa9439642c6336c$var$magic("el", (el)=>el);
2107
2188
  $caa9439642c6336c$var$warnMissingPluginMagic("Focus", "focus", "focus");
2108
2189
  $caa9439642c6336c$var$warnMissingPluginMagic("Persist", "persist", "persist");
2109
2190
  function $caa9439642c6336c$var$warnMissingPluginMagic(name, magicName, slug) {
2110
- $caa9439642c6336c$var$magic(magicName, (el)=>$caa9439642c6336c$var$warn(`You can't use [$${directiveName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
2111
- }
2112
- // packages/alpinejs/src/entangle.js
2113
- function $caa9439642c6336c$var$entangle({ get: outerGet , set: outerSet }, { get: innerGet , set: innerSet }) {
2114
- let firstRun = true;
2115
- let outerHash, innerHash, outerHashLatest, innerHashLatest;
2116
- let reference = $caa9439642c6336c$var$effect(()=>{
2117
- let outer, inner;
2118
- if (firstRun) {
2119
- outer = outerGet();
2120
- innerSet(outer);
2121
- inner = innerGet();
2122
- firstRun = false;
2123
- } else {
2124
- outer = outerGet();
2125
- inner = innerGet();
2126
- outerHashLatest = JSON.stringify(outer);
2127
- innerHashLatest = JSON.stringify(inner);
2128
- if (outerHashLatest !== outerHash) {
2129
- inner = innerGet();
2130
- innerSet(outer);
2131
- inner = outer;
2132
- } else {
2133
- outerSet(inner);
2134
- outer = inner;
2135
- }
2136
- }
2137
- outerHash = JSON.stringify(outer);
2138
- innerHash = JSON.stringify(inner);
2139
- });
2140
- return ()=>{
2141
- $caa9439642c6336c$var$release(reference);
2142
- };
2191
+ $caa9439642c6336c$var$magic(magicName, (el)=>$caa9439642c6336c$var$warn(`You can't use [$${magicName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
2143
2192
  }
2144
2193
  // packages/alpinejs/src/directives/x-modelable.js
2145
- $caa9439642c6336c$var$directive("modelable", (el, { expression: expression }, { effect: effect3 , evaluateLater: evaluateLater2 , cleanup: cleanup2 })=>{
2194
+ $caa9439642c6336c$var$directive("modelable", (el, { expression: expression }, { effect: effect3, evaluateLater: evaluateLater2, cleanup: cleanup2 })=>{
2146
2195
  let func = evaluateLater2(expression);
2147
2196
  let innerGet = ()=>{
2148
2197
  let result;
@@ -2152,7 +2201,7 @@ $caa9439642c6336c$var$directive("modelable", (el, { expression: expression }, {
2152
2201
  let evaluateInnerSet = evaluateLater2(`${expression} = __placeholder`);
2153
2202
  let innerSet = (val)=>evaluateInnerSet(()=>{}, {
2154
2203
  scope: {
2155
- __placeholder: val
2204
+ "__placeholder": val
2156
2205
  }
2157
2206
  });
2158
2207
  let initialValue = innerGet();
@@ -2181,18 +2230,14 @@ $caa9439642c6336c$var$directive("modelable", (el, { expression: expression }, {
2181
2230
  });
2182
2231
  });
2183
2232
  // packages/alpinejs/src/directives/x-teleport.js
2184
- var $caa9439642c6336c$var$teleportContainerDuringClone = document.createElement("div");
2185
- $caa9439642c6336c$var$directive("teleport", (el, { modifiers: modifiers , expression: expression }, { cleanup: cleanup2 })=>{
2233
+ $caa9439642c6336c$var$directive("teleport", (el, { modifiers: modifiers, expression: expression }, { cleanup: cleanup2 })=>{
2186
2234
  if (el.tagName.toLowerCase() !== "template") $caa9439642c6336c$var$warn("x-teleport can only be used on a <template> tag", el);
2187
- let target = $caa9439642c6336c$var$skipDuringClone(()=>{
2188
- return document.querySelector(expression);
2189
- }, ()=>{
2190
- return $caa9439642c6336c$var$teleportContainerDuringClone;
2191
- })();
2192
- if (!target) $caa9439642c6336c$var$warn(`Cannot find x-teleport element for selector: "${expression}"`);
2235
+ let target = $caa9439642c6336c$var$getTarget(expression);
2193
2236
  let clone2 = el.content.cloneNode(true).firstElementChild;
2194
2237
  el._x_teleport = clone2;
2195
2238
  clone2._x_teleportBack = el;
2239
+ el.setAttribute("data-teleport-template", true);
2240
+ clone2.setAttribute("data-teleport-target", true);
2196
2241
  if (el._x_forwardEvents) el._x_forwardEvents.forEach((eventName)=>{
2197
2242
  clone2.addEventListener(eventName, (e)=>{
2198
2243
  e.stopPropagation();
@@ -2200,18 +2245,37 @@ $caa9439642c6336c$var$directive("teleport", (el, { modifiers: modifiers , expres
2200
2245
  });
2201
2246
  });
2202
2247
  $caa9439642c6336c$var$addScopeToNode(clone2, {}, el);
2248
+ let placeInDom = (clone3, target2, modifiers2)=>{
2249
+ if (modifiers2.includes("prepend")) target2.parentNode.insertBefore(clone3, target2);
2250
+ else if (modifiers2.includes("append")) target2.parentNode.insertBefore(clone3, target2.nextSibling);
2251
+ else target2.appendChild(clone3);
2252
+ };
2203
2253
  $caa9439642c6336c$var$mutateDom(()=>{
2204
- if (modifiers.includes("prepend")) target.parentNode.insertBefore(clone2, target);
2205
- else if (modifiers.includes("append")) target.parentNode.insertBefore(clone2, target.nextSibling);
2206
- else target.appendChild(clone2);
2254
+ placeInDom(clone2, target, modifiers);
2207
2255
  $caa9439642c6336c$var$initTree(clone2);
2208
2256
  clone2._x_ignore = true;
2209
2257
  });
2258
+ el._x_teleportPutBack = ()=>{
2259
+ let target2 = $caa9439642c6336c$var$getTarget(expression);
2260
+ $caa9439642c6336c$var$mutateDom(()=>{
2261
+ placeInDom(el._x_teleport, target2, modifiers);
2262
+ });
2263
+ };
2210
2264
  cleanup2(()=>clone2.remove());
2211
2265
  });
2266
+ var $caa9439642c6336c$var$teleportContainerDuringClone = document.createElement("div");
2267
+ function $caa9439642c6336c$var$getTarget(expression) {
2268
+ let target = $caa9439642c6336c$var$skipDuringClone(()=>{
2269
+ return document.querySelector(expression);
2270
+ }, ()=>{
2271
+ return $caa9439642c6336c$var$teleportContainerDuringClone;
2272
+ })();
2273
+ if (!target) $caa9439642c6336c$var$warn(`Cannot find x-teleport element for selector: "${expression}"`);
2274
+ return target;
2275
+ }
2212
2276
  // packages/alpinejs/src/directives/x-ignore.js
2213
2277
  var $caa9439642c6336c$var$handler = ()=>{};
2214
- $caa9439642c6336c$var$handler.inline = (el, { modifiers: modifiers }, { cleanup: cleanup2 })=>{
2278
+ $caa9439642c6336c$var$handler.inline = (el, { modifiers: modifiers }, { cleanup: cleanup2 })=>{
2215
2279
  modifiers.includes("self") ? el._x_ignoreSelf = true : el._x_ignore = true;
2216
2280
  cleanup2(()=>{
2217
2281
  modifiers.includes("self") ? delete el._x_ignoreSelf : delete el._x_ignore;
@@ -2219,11 +2283,13 @@ $caa9439642c6336c$var$handler.inline = (el, { modifiers: modifiers }, { cleanup
2219
2283
  };
2220
2284
  $caa9439642c6336c$var$directive("ignore", $caa9439642c6336c$var$handler);
2221
2285
  // packages/alpinejs/src/directives/x-effect.js
2222
- $caa9439642c6336c$var$directive("effect", (el, { expression: expression }, { effect: effect3 })=>effect3($caa9439642c6336c$var$evaluateLater(el, expression)));
2286
+ $caa9439642c6336c$var$directive("effect", $caa9439642c6336c$var$skipDuringClone((el, { expression: expression }, { effect: effect3 })=>{
2287
+ effect3($caa9439642c6336c$var$evaluateLater(el, expression));
2288
+ }));
2223
2289
  // packages/alpinejs/src/utils/on.js
2224
2290
  function $caa9439642c6336c$var$on(el, event, modifiers, callback) {
2225
2291
  let listenerTarget = el;
2226
- let handler3 = (e)=>callback(e);
2292
+ let handler4 = (e)=>callback(e);
2227
2293
  let options = {};
2228
2294
  let wrapHandler = (callback2, wrapper)=>(e)=>wrapper(callback2, e);
2229
2295
  if (modifiers.includes("dot")) event = $caa9439642c6336c$var$dotSyntax(event);
@@ -2235,27 +2301,27 @@ function $caa9439642c6336c$var$on(el, event, modifiers, callback) {
2235
2301
  if (modifiers.includes("debounce")) {
2236
2302
  let nextModifier = modifiers[modifiers.indexOf("debounce") + 1] || "invalid-wait";
2237
2303
  let wait = $caa9439642c6336c$var$isNumeric(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
2238
- handler3 = $caa9439642c6336c$var$debounce(handler3, wait);
2304
+ handler4 = $caa9439642c6336c$var$debounce(handler4, wait);
2239
2305
  }
2240
2306
  if (modifiers.includes("throttle")) {
2241
2307
  let nextModifier = modifiers[modifiers.indexOf("throttle") + 1] || "invalid-wait";
2242
2308
  let wait = $caa9439642c6336c$var$isNumeric(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
2243
- handler3 = $caa9439642c6336c$var$throttle(handler3, wait);
2309
+ handler4 = $caa9439642c6336c$var$throttle(handler4, wait);
2244
2310
  }
2245
- if (modifiers.includes("prevent")) handler3 = wrapHandler(handler3, (next, e)=>{
2311
+ if (modifiers.includes("prevent")) handler4 = wrapHandler(handler4, (next, e)=>{
2246
2312
  e.preventDefault();
2247
2313
  next(e);
2248
2314
  });
2249
- if (modifiers.includes("stop")) handler3 = wrapHandler(handler3, (next, e)=>{
2315
+ if (modifiers.includes("stop")) handler4 = wrapHandler(handler4, (next, e)=>{
2250
2316
  e.stopPropagation();
2251
2317
  next(e);
2252
2318
  });
2253
- if (modifiers.includes("self")) handler3 = wrapHandler(handler3, (next, e)=>{
2319
+ if (modifiers.includes("self")) handler4 = wrapHandler(handler4, (next, e)=>{
2254
2320
  e.target === el && next(e);
2255
2321
  });
2256
2322
  if (modifiers.includes("away") || modifiers.includes("outside")) {
2257
2323
  listenerTarget = document;
2258
- handler3 = wrapHandler(handler3, (next, e)=>{
2324
+ handler4 = wrapHandler(handler4, (next, e)=>{
2259
2325
  if (el.contains(e.target)) return;
2260
2326
  if (e.target.isConnected === false) return;
2261
2327
  if (el.offsetWidth < 1 && el.offsetHeight < 1) return;
@@ -2263,19 +2329,19 @@ function $caa9439642c6336c$var$on(el, event, modifiers, callback) {
2263
2329
  next(e);
2264
2330
  });
2265
2331
  }
2266
- if (modifiers.includes("once")) handler3 = wrapHandler(handler3, (next, e)=>{
2332
+ if (modifiers.includes("once")) handler4 = wrapHandler(handler4, (next, e)=>{
2267
2333
  next(e);
2268
- listenerTarget.removeEventListener(event, handler3, options);
2334
+ listenerTarget.removeEventListener(event, handler4, options);
2269
2335
  });
2270
- handler3 = wrapHandler(handler3, (next, e)=>{
2336
+ handler4 = wrapHandler(handler4, (next, e)=>{
2271
2337
  if ($caa9439642c6336c$var$isKeyEvent(event)) {
2272
2338
  if ($caa9439642c6336c$var$isListeningForASpecificKeyThatHasntBeenPressed(e, modifiers)) return;
2273
2339
  }
2274
2340
  next(e);
2275
2341
  });
2276
- listenerTarget.addEventListener(event, handler3, options);
2342
+ listenerTarget.addEventListener(event, handler4, options);
2277
2343
  return ()=>{
2278
- listenerTarget.removeEventListener(event, handler3, options);
2344
+ listenerTarget.removeEventListener(event, handler4, options);
2279
2345
  };
2280
2346
  }
2281
2347
  function $caa9439642c6336c$var$dotSyntax(subject) {
@@ -2346,20 +2412,20 @@ function $caa9439642c6336c$var$keyToModifiers(key) {
2346
2412
  if (!key) return [];
2347
2413
  key = $caa9439642c6336c$var$kebabCase2(key);
2348
2414
  let modifierToKeyMap = {
2349
- ctrl: "control",
2350
- slash: "/",
2351
- space: " ",
2352
- spacebar: " ",
2353
- cmd: "meta",
2354
- esc: "escape",
2355
- up: "arrow-up",
2356
- down: "arrow-down",
2357
- left: "arrow-left",
2358
- right: "arrow-right",
2359
- period: ".",
2360
- equal: "=",
2361
- minus: "-",
2362
- underscore: "_"
2415
+ "ctrl": "control",
2416
+ "slash": "/",
2417
+ "space": " ",
2418
+ "spacebar": " ",
2419
+ "cmd": "meta",
2420
+ "esc": "escape",
2421
+ "up": "arrow-up",
2422
+ "down": "arrow-down",
2423
+ "left": "arrow-left",
2424
+ "right": "arrow-right",
2425
+ "period": ".",
2426
+ "equal": "=",
2427
+ "minus": "-",
2428
+ "underscore": "_"
2363
2429
  };
2364
2430
  modifierToKeyMap[key] = key;
2365
2431
  return Object.keys(modifierToKeyMap).map((modifier)=>{
@@ -2367,7 +2433,7 @@ function $caa9439642c6336c$var$keyToModifiers(key) {
2367
2433
  }).filter((modifier)=>modifier);
2368
2434
  }
2369
2435
  // packages/alpinejs/src/directives/x-model.js
2370
- $caa9439642c6336c$var$directive("model", (el, { modifiers: modifiers , expression: expression }, { effect: effect3 , cleanup: cleanup2 })=>{
2436
+ $caa9439642c6336c$var$directive("model", (el, { modifiers: modifiers, expression: expression }, { effect: effect3, cleanup: cleanup2 })=>{
2371
2437
  let scopeTarget = el;
2372
2438
  if (modifiers.includes("parent")) scopeTarget = el.parentNode;
2373
2439
  let evaluateGet = $caa9439642c6336c$var$evaluateLater(scopeTarget, expression);
@@ -2386,7 +2452,7 @@ $caa9439642c6336c$var$directive("model", (el, { modifiers: modifiers , expressio
2386
2452
  if ($caa9439642c6336c$var$isGetterSetter(result)) result.set(value);
2387
2453
  else evaluateSet(()=>{}, {
2388
2454
  scope: {
2389
- __placeholder: value
2455
+ "__placeholder": value
2390
2456
  }
2391
2457
  });
2392
2458
  };
@@ -2400,10 +2466,12 @@ $caa9439642c6336c$var$directive("model", (el, { modifiers: modifiers , expressio
2400
2466
  let removeListener = $caa9439642c6336c$var$isCloning ? ()=>{} : $caa9439642c6336c$var$on(el, event, modifiers, (e)=>{
2401
2467
  setValue($caa9439642c6336c$var$getInputValue(el, modifiers, e, getValue()));
2402
2468
  });
2403
- if (modifiers.includes("fill") && [
2404
- null,
2405
- ""
2406
- ].includes(getValue())) el.dispatchEvent(new Event(event, {}));
2469
+ if (modifiers.includes("fill")) {
2470
+ if ([
2471
+ null,
2472
+ ""
2473
+ ].includes(getValue()) || el.type === "checkbox" && Array.isArray(getValue())) el.dispatchEvent(new Event(event, {}));
2474
+ }
2407
2475
  if (!el._x_removeModelListeners) el._x_removeModelListeners = {};
2408
2476
  el._x_removeModelListeners["default"] = removeListener;
2409
2477
  cleanup2(()=>el._x_removeModelListeners["default"]());
@@ -2422,7 +2490,6 @@ $caa9439642c6336c$var$directive("model", (el, { modifiers: modifiers , expressio
2422
2490
  }
2423
2491
  };
2424
2492
  el._x_forceModelUpdate = (value)=>{
2425
- value = value === void 0 ? getValue() : value;
2426
2493
  if (value === void 0 && typeof expression === "string" && expression.match(/\./)) value = "";
2427
2494
  window.fromModel = true;
2428
2495
  $caa9439642c6336c$var$mutateDom(()=>$caa9439642c6336c$var$bind(el, "value", value));
@@ -2436,23 +2503,33 @@ $caa9439642c6336c$var$directive("model", (el, { modifiers: modifiers , expressio
2436
2503
  });
2437
2504
  function $caa9439642c6336c$var$getInputValue(el, modifiers, event, currentValue) {
2438
2505
  return $caa9439642c6336c$var$mutateDom(()=>{
2439
- if (event instanceof CustomEvent && event.detail !== void 0) return event.detail ?? event.target.value;
2506
+ if (event instanceof CustomEvent && event.detail !== void 0) return event.detail !== null && event.detail !== void 0 ? event.detail : event.target.value;
2440
2507
  else if (el.type === "checkbox") {
2441
2508
  if (Array.isArray(currentValue)) {
2442
- let newValue = modifiers.includes("number") ? $caa9439642c6336c$var$safeParseNumber(event.target.value) : event.target.value;
2509
+ let newValue = null;
2510
+ if (modifiers.includes("number")) newValue = $caa9439642c6336c$var$safeParseNumber(event.target.value);
2511
+ else if (modifiers.includes("boolean")) newValue = $caa9439642c6336c$var$safeParseBoolean(event.target.value);
2512
+ else newValue = event.target.value;
2443
2513
  return event.target.checked ? currentValue.concat([
2444
2514
  newValue
2445
2515
  ]) : currentValue.filter((el2)=>!$caa9439642c6336c$var$checkedAttrLooseCompare2(el2, newValue));
2446
2516
  } else return event.target.checked;
2447
- } else if (el.tagName.toLowerCase() === "select" && el.multiple) return modifiers.includes("number") ? Array.from(event.target.selectedOptions).map((option)=>{
2448
- let rawValue = option.value || option.text;
2449
- return $caa9439642c6336c$var$safeParseNumber(rawValue);
2450
- }) : Array.from(event.target.selectedOptions).map((option)=>{
2451
- return option.value || option.text;
2452
- });
2453
- else {
2454
- let rawValue = event.target.value;
2455
- return modifiers.includes("number") ? $caa9439642c6336c$var$safeParseNumber(rawValue) : modifiers.includes("trim") ? rawValue.trim() : rawValue;
2517
+ } else if (el.tagName.toLowerCase() === "select" && el.multiple) {
2518
+ if (modifiers.includes("number")) return Array.from(event.target.selectedOptions).map((option)=>{
2519
+ let rawValue = option.value || option.text;
2520
+ return $caa9439642c6336c$var$safeParseNumber(rawValue);
2521
+ });
2522
+ else if (modifiers.includes("boolean")) return Array.from(event.target.selectedOptions).map((option)=>{
2523
+ let rawValue = option.value || option.text;
2524
+ return $caa9439642c6336c$var$safeParseBoolean(rawValue);
2525
+ });
2526
+ return Array.from(event.target.selectedOptions).map((option)=>{
2527
+ return option.value || option.text;
2528
+ });
2529
+ } else {
2530
+ if (modifiers.includes("number")) return $caa9439642c6336c$var$safeParseNumber(event.target.value);
2531
+ else if (modifiers.includes("boolean")) return $caa9439642c6336c$var$safeParseBoolean(event.target.value);
2532
+ return modifiers.includes("trim") ? event.target.value.trim() : event.target.value;
2456
2533
  }
2457
2534
  });
2458
2535
  }
@@ -2473,12 +2550,12 @@ function $caa9439642c6336c$var$isGetterSetter(value) {
2473
2550
  $caa9439642c6336c$var$directive("cloak", (el)=>queueMicrotask(()=>$caa9439642c6336c$var$mutateDom(()=>el.removeAttribute($caa9439642c6336c$var$prefix("cloak")))));
2474
2551
  // packages/alpinejs/src/directives/x-init.js
2475
2552
  $caa9439642c6336c$var$addInitSelector(()=>`[${$caa9439642c6336c$var$prefix("init")}]`);
2476
- $caa9439642c6336c$var$directive("init", $caa9439642c6336c$var$skipDuringClone((el, { expression: expression }, { evaluate: evaluate2 })=>{
2553
+ $caa9439642c6336c$var$directive("init", $caa9439642c6336c$var$skipDuringClone((el, { expression: expression }, { evaluate: evaluate2 })=>{
2477
2554
  if (typeof expression === "string") return !!expression.trim() && evaluate2(expression, {}, false);
2478
2555
  return evaluate2(expression, {}, false);
2479
2556
  }));
2480
2557
  // packages/alpinejs/src/directives/x-text.js
2481
- $caa9439642c6336c$var$directive("text", (el, { expression: expression }, { effect: effect3 , evaluateLater: evaluateLater2 })=>{
2558
+ $caa9439642c6336c$var$directive("text", (el, { expression: expression }, { effect: effect3, evaluateLater: evaluateLater2 })=>{
2482
2559
  let evaluate2 = evaluateLater2(expression);
2483
2560
  effect3(()=>{
2484
2561
  evaluate2((value)=>{
@@ -2489,7 +2566,7 @@ $caa9439642c6336c$var$directive("text", (el, { expression: expression }, { effe
2489
2566
  });
2490
2567
  });
2491
2568
  // packages/alpinejs/src/directives/x-html.js
2492
- $caa9439642c6336c$var$directive("html", (el, { expression: expression }, { effect: effect3 , evaluateLater: evaluateLater2 })=>{
2569
+ $caa9439642c6336c$var$directive("html", (el, { expression: expression }, { effect: effect3, evaluateLater: evaluateLater2 })=>{
2493
2570
  let evaluate2 = evaluateLater2(expression);
2494
2571
  effect3(()=>{
2495
2572
  evaluate2((value)=>{
@@ -2504,7 +2581,7 @@ $caa9439642c6336c$var$directive("html", (el, { expression: expression }, { effe
2504
2581
  });
2505
2582
  // packages/alpinejs/src/directives/x-bind.js
2506
2583
  $caa9439642c6336c$var$mapAttributes($caa9439642c6336c$var$startingWith(":", $caa9439642c6336c$var$into($caa9439642c6336c$var$prefix("bind:"))));
2507
- $caa9439642c6336c$var$directive("bind", (el, { value: value , modifiers: modifiers , expression: expression , original: original }, { effect: effect3 })=>{
2584
+ var $caa9439642c6336c$var$handler2 = (el, { value: value, modifiers: modifiers, expression: expression, original: original }, { effect: effect3 })=>{
2508
2585
  if (!value) {
2509
2586
  let bindingProviders = {};
2510
2587
  $caa9439642c6336c$var$injectBindingProviders(bindingProviders);
@@ -2517,18 +2594,29 @@ $caa9439642c6336c$var$directive("bind", (el, { value: value , modifiers: modifie
2517
2594
  return;
2518
2595
  }
2519
2596
  if (value === "key") return $caa9439642c6336c$var$storeKeyForXFor(el, expression);
2597
+ if (el._x_inlineBindings && el._x_inlineBindings[value] && el._x_inlineBindings[value].extract) return;
2520
2598
  let evaluate2 = $caa9439642c6336c$var$evaluateLater(el, expression);
2521
2599
  effect3(()=>evaluate2((result)=>{
2522
2600
  if (result === void 0 && typeof expression === "string" && expression.match(/\./)) result = "";
2523
2601
  $caa9439642c6336c$var$mutateDom(()=>$caa9439642c6336c$var$bind(el, value, result, modifiers));
2524
2602
  }));
2525
- });
2603
+ };
2604
+ $caa9439642c6336c$var$handler2.inline = (el, { value: value, modifiers: modifiers, expression: expression })=>{
2605
+ if (!value) return;
2606
+ if (!el._x_inlineBindings) el._x_inlineBindings = {};
2607
+ el._x_inlineBindings[value] = {
2608
+ expression: expression,
2609
+ extract: false
2610
+ };
2611
+ };
2612
+ $caa9439642c6336c$var$directive("bind", $caa9439642c6336c$var$handler2);
2526
2613
  function $caa9439642c6336c$var$storeKeyForXFor(el, expression) {
2527
2614
  el._x_keyExpression = expression;
2528
2615
  }
2529
2616
  // packages/alpinejs/src/directives/x-data.js
2530
2617
  $caa9439642c6336c$var$addRootSelector(()=>`[${$caa9439642c6336c$var$prefix("data")}]`);
2531
- $caa9439642c6336c$var$directive("data", $caa9439642c6336c$var$skipDuringClone((el, { expression: expression }, { cleanup: cleanup2 })=>{
2618
+ $caa9439642c6336c$var$directive("data", (el, { expression: expression }, { cleanup: cleanup2 })=>{
2619
+ if ($caa9439642c6336c$var$shouldSkipRegisteringDataDuringClone(el)) return;
2532
2620
  expression = expression === "" ? "{}" : expression;
2533
2621
  let magicContext = {};
2534
2622
  $caa9439642c6336c$var$injectMagics(magicContext, el);
@@ -2540,16 +2628,27 @@ $caa9439642c6336c$var$directive("data", $caa9439642c6336c$var$skipDuringClone((e
2540
2628
  if (data2 === void 0 || data2 === true) data2 = {};
2541
2629
  $caa9439642c6336c$var$injectMagics(data2, el);
2542
2630
  let reactiveData = $caa9439642c6336c$var$reactive(data2);
2543
- $caa9439642c6336c$var$initInterceptors(reactiveData);
2631
+ $caa9439642c6336c$var$initInterceptors2(reactiveData);
2544
2632
  let undo = $caa9439642c6336c$var$addScopeToNode(el, reactiveData);
2545
2633
  reactiveData["init"] && $caa9439642c6336c$var$evaluate(el, reactiveData["init"]);
2546
2634
  cleanup2(()=>{
2547
2635
  reactiveData["destroy"] && $caa9439642c6336c$var$evaluate(el, reactiveData["destroy"]);
2548
2636
  undo();
2549
2637
  });
2550
- }));
2638
+ });
2639
+ $caa9439642c6336c$var$interceptClone((from, to)=>{
2640
+ if (from._x_dataStack) {
2641
+ to._x_dataStack = from._x_dataStack;
2642
+ to.setAttribute("data-has-alpine-state", true);
2643
+ }
2644
+ });
2645
+ function $caa9439642c6336c$var$shouldSkipRegisteringDataDuringClone(el) {
2646
+ if (!$caa9439642c6336c$var$isCloning) return false;
2647
+ if ($caa9439642c6336c$var$isCloningLegacy) return true;
2648
+ return el.hasAttribute("data-has-alpine-state");
2649
+ }
2551
2650
  // packages/alpinejs/src/directives/x-show.js
2552
- $caa9439642c6336c$var$directive("show", (el, { modifiers: modifiers , expression: expression }, { effect: effect3 })=>{
2651
+ $caa9439642c6336c$var$directive("show", (el, { modifiers: modifiers, expression: expression }, { effect: effect3 })=>{
2553
2652
  let evaluate2 = $caa9439642c6336c$var$evaluateLater(el, expression);
2554
2653
  if (!el._x_doHide) el._x_doHide = ()=>{
2555
2654
  $caa9439642c6336c$var$mutateDom(()=>{
@@ -2586,10 +2685,11 @@ $caa9439642c6336c$var$directive("show", (el, { modifiers: modifiers , expression
2586
2685
  }));
2587
2686
  });
2588
2687
  // packages/alpinejs/src/directives/x-for.js
2589
- $caa9439642c6336c$var$directive("for", (el, { expression: expression }, { effect: effect3 , cleanup: cleanup2 })=>{
2688
+ $caa9439642c6336c$var$directive("for", (el, { expression: expression }, { effect: effect3, cleanup: cleanup2 })=>{
2590
2689
  let iteratorNames = $caa9439642c6336c$var$parseForExpression(expression);
2591
2690
  let evaluateItems = $caa9439642c6336c$var$evaluateLater(el, iteratorNames.items);
2592
- let evaluateKey = $caa9439642c6336c$var$evaluateLater(el, el._x_keyExpression || "index");
2691
+ let evaluateKey = $caa9439642c6336c$var$evaluateLater(el, // the x-bind:key expression is stored for our use instead of evaluated.
2692
+ el._x_keyExpression || "index");
2593
2693
  el._x_prevKeys = [];
2594
2694
  el._x_lookup = {};
2595
2695
  effect3(()=>$caa9439642c6336c$var$loop(el, iteratorNames, evaluateItems, evaluateKey));
@@ -2746,16 +2846,17 @@ function $caa9439642c6336c$var$isNumeric3(subject) {
2746
2846
  return !Array.isArray(subject) && !isNaN(subject);
2747
2847
  }
2748
2848
  // packages/alpinejs/src/directives/x-ref.js
2749
- function $caa9439642c6336c$var$handler2() {}
2750
- $caa9439642c6336c$var$handler2.inline = (el, { expression: expression }, { cleanup: cleanup2 })=>{
2849
+ function $caa9439642c6336c$var$handler3() {}
2850
+ $caa9439642c6336c$var$handler3.inline = (el, { expression: expression }, { cleanup: cleanup2 })=>{
2751
2851
  let root = $caa9439642c6336c$var$closestRoot(el);
2752
2852
  if (!root._x_refs) root._x_refs = {};
2753
2853
  root._x_refs[expression] = el;
2754
2854
  cleanup2(()=>delete root._x_refs[expression]);
2755
2855
  };
2756
- $caa9439642c6336c$var$directive("ref", $caa9439642c6336c$var$handler2);
2856
+ $caa9439642c6336c$var$directive("ref", $caa9439642c6336c$var$handler3);
2757
2857
  // packages/alpinejs/src/directives/x-if.js
2758
- $caa9439642c6336c$var$directive("if", (el, { expression: expression }, { effect: effect3 , cleanup: cleanup2 })=>{
2858
+ $caa9439642c6336c$var$directive("if", (el, { expression: expression }, { effect: effect3, cleanup: cleanup2 })=>{
2859
+ if (el.tagName.toLowerCase() !== "template") $caa9439642c6336c$var$warn("x-if can only be used on a <template> tag", el);
2759
2860
  let evaluate2 = $caa9439642c6336c$var$evaluateLater(el, expression);
2760
2861
  let show = ()=>{
2761
2862
  if (el._x_currentIfEl) return el._x_currentIfEl;
@@ -2786,13 +2887,13 @@ $caa9439642c6336c$var$directive("if", (el, { expression: expression }, { effect
2786
2887
  cleanup2(()=>el._x_undoIf && el._x_undoIf());
2787
2888
  });
2788
2889
  // packages/alpinejs/src/directives/x-id.js
2789
- $caa9439642c6336c$var$directive("id", (el, { expression: expression }, { evaluate: evaluate2 })=>{
2890
+ $caa9439642c6336c$var$directive("id", (el, { expression: expression }, { evaluate: evaluate2 })=>{
2790
2891
  let names = evaluate2(expression);
2791
2892
  names.forEach((name)=>$caa9439642c6336c$var$setIdRoot(el, name));
2792
2893
  });
2793
2894
  // packages/alpinejs/src/directives/x-on.js
2794
2895
  $caa9439642c6336c$var$mapAttributes($caa9439642c6336c$var$startingWith("@", $caa9439642c6336c$var$into($caa9439642c6336c$var$prefix("on:"))));
2795
- $caa9439642c6336c$var$directive("on", $caa9439642c6336c$var$skipDuringClone((el, { value: value , modifiers: modifiers , expression: expression }, { cleanup: cleanup2 })=>{
2896
+ $caa9439642c6336c$var$directive("on", $caa9439642c6336c$var$skipDuringClone((el, { value: value, modifiers: modifiers, expression: expression }, { cleanup: cleanup2 })=>{
2796
2897
  let evaluate2 = expression ? $caa9439642c6336c$var$evaluateLater(el, expression) : ()=>{};
2797
2898
  if (el.tagName.toLowerCase() === "template") {
2798
2899
  if (!el._x_forwardEvents) el._x_forwardEvents = [];
@@ -2801,7 +2902,7 @@ $caa9439642c6336c$var$directive("on", $caa9439642c6336c$var$skipDuringClone((el,
2801
2902
  let removeListener = $caa9439642c6336c$var$on(el, value, modifiers, (e)=>{
2802
2903
  evaluate2(()=>{}, {
2803
2904
  scope: {
2804
- $event: e
2905
+ "$event": e
2805
2906
  },
2806
2907
  params: [
2807
2908
  e
@@ -2815,8 +2916,8 @@ $caa9439642c6336c$var$warnMissingPluginDirective("Collapse", "collapse", "collap
2815
2916
  $caa9439642c6336c$var$warnMissingPluginDirective("Intersect", "intersect", "intersect");
2816
2917
  $caa9439642c6336c$var$warnMissingPluginDirective("Focus", "trap", "focus");
2817
2918
  $caa9439642c6336c$var$warnMissingPluginDirective("Mask", "mask", "mask");
2818
- function $caa9439642c6336c$var$warnMissingPluginDirective(name, directiveName2, slug) {
2819
- $caa9439642c6336c$var$directive(directiveName2, (el)=>$caa9439642c6336c$var$warn(`You can't use [x-${directiveName2}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
2919
+ function $caa9439642c6336c$var$warnMissingPluginDirective(name, directiveName, slug) {
2920
+ $caa9439642c6336c$var$directive(directiveName, (el)=>$caa9439642c6336c$var$warn(`You can't use [x-${directiveName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
2820
2921
  }
2821
2922
  // packages/alpinejs/src/index.js
2822
2923
  $caa9439642c6336c$var$alpine_default.setEvaluator($caa9439642c6336c$var$normalEvaluator);
@@ -2831,64 +2932,7 @@ var $caa9439642c6336c$var$src_default = $caa9439642c6336c$var$alpine_default;
2831
2932
  var $caa9439642c6336c$export$2e2bcd8739ae039 = $caa9439642c6336c$var$src_default;
2832
2933
 
2833
2934
 
2834
- // packages/morph/src/dom.js
2835
- function $512e3a9270ec7803$var$createElement(html) {
2836
- const template = document.createElement("template");
2837
- template.innerHTML = html;
2838
- return template.content.firstElementChild;
2839
- }
2840
- function $512e3a9270ec7803$var$textOrComment(el) {
2841
- return el.nodeType === 3 || el.nodeType === 8;
2842
- }
2843
- var $512e3a9270ec7803$var$dom = {
2844
- replace (children, old, replacement) {
2845
- let index = children.indexOf(old);
2846
- if (index === -1) throw "Cant find element in children";
2847
- old.replaceWith(replacement);
2848
- children[index] = replacement;
2849
- return children;
2850
- },
2851
- before (children, reference, subject) {
2852
- let index = children.indexOf(reference);
2853
- if (index === -1) throw "Cant find element in children";
2854
- reference.before(subject);
2855
- children.splice(index, 0, subject);
2856
- return children;
2857
- },
2858
- append (children, subject, appendFn) {
2859
- let last = children[children.length - 1];
2860
- appendFn(subject);
2861
- children.push(subject);
2862
- return children;
2863
- },
2864
- remove (children, subject) {
2865
- let index = children.indexOf(subject);
2866
- if (index === -1) throw "Cant find element in children";
2867
- subject.remove();
2868
- return children.filter((i)=>i !== subject);
2869
- },
2870
- first (children) {
2871
- return this.teleportTo(children[0]);
2872
- },
2873
- next (children, reference) {
2874
- let index = children.indexOf(reference);
2875
- if (index === -1) return;
2876
- return this.teleportTo(this.teleportBack(children[index + 1]));
2877
- },
2878
- teleportTo (el) {
2879
- if (!el) return el;
2880
- if (el._x_teleport) return el._x_teleport;
2881
- return el;
2882
- },
2883
- teleportBack (el) {
2884
- if (!el) return el;
2885
- if (el._x_teleportBack) return el._x_teleportBack;
2886
- return el;
2887
- }
2888
- };
2889
2935
  // packages/morph/src/morph.js
2890
- var $512e3a9270ec7803$var$resolveStep = ()=>{};
2891
- var $512e3a9270ec7803$var$logger = ()=>{};
2892
2936
  function $512e3a9270ec7803$export$2e5e8c41f5d4e7c7(from, toHtml, options) {
2893
2937
  $512e3a9270ec7803$var$monkeyPatchDomSetAttributeToAllowAtSymbols();
2894
2938
  let fromEl;
@@ -2907,10 +2951,10 @@ function $512e3a9270ec7803$export$2e5e8c41f5d4e7c7(from, toHtml, options) {
2907
2951
  lookahead = options2.lookahead || false;
2908
2952
  }
2909
2953
  function patch(from2, to) {
2910
- if (differentElementNamesTypesOrKeys(from2, to)) return patchElement(from2, to);
2954
+ if (differentElementNamesTypesOrKeys(from2, to)) return swapElements(from2, to);
2911
2955
  let updateChildrenOnly = false;
2912
2956
  if ($512e3a9270ec7803$var$shouldSkip(updating, from2, to, ()=>updateChildrenOnly = true)) return;
2913
- window.Alpine && $512e3a9270ec7803$var$initializeAlpineOnTo(from2, to, ()=>updateChildrenOnly = true);
2957
+ if (from2.nodeType === 1 && window.Alpine) window.Alpine.cloneNode(from2, to);
2914
2958
  if ($512e3a9270ec7803$var$textOrComment(to)) {
2915
2959
  patchNodeValue(from2, to);
2916
2960
  updated(from2, to);
@@ -2918,20 +2962,16 @@ function $512e3a9270ec7803$export$2e5e8c41f5d4e7c7(from, toHtml, options) {
2918
2962
  }
2919
2963
  if (!updateChildrenOnly) patchAttributes(from2, to);
2920
2964
  updated(from2, to);
2921
- patchChildren(Array.from(from2.childNodes), Array.from(to.childNodes), (toAppend)=>{
2922
- from2.appendChild(toAppend);
2923
- });
2965
+ patchChildren(from2, to);
2924
2966
  }
2925
2967
  function differentElementNamesTypesOrKeys(from2, to) {
2926
2968
  return from2.nodeType != to.nodeType || from2.nodeName != to.nodeName || getKey(from2) != getKey(to);
2927
2969
  }
2928
- function patchElement(from2, to) {
2970
+ function swapElements(from2, to) {
2929
2971
  if ($512e3a9270ec7803$var$shouldSkip(removing, from2)) return;
2930
2972
  let toCloned = to.cloneNode(true);
2931
2973
  if ($512e3a9270ec7803$var$shouldSkip(adding, toCloned)) return;
2932
- $512e3a9270ec7803$var$dom.replace([
2933
- from2
2934
- ], from2, toCloned);
2974
+ from2.replaceWith(toCloned);
2935
2975
  removed(from2);
2936
2976
  added(toCloned);
2937
2977
  }
@@ -2940,6 +2980,7 @@ function $512e3a9270ec7803$export$2e5e8c41f5d4e7c7(from, toHtml, options) {
2940
2980
  if (from2.nodeValue !== value) from2.nodeValue = value;
2941
2981
  }
2942
2982
  function patchAttributes(from2, to) {
2983
+ if (from2._x_transitioning) return;
2943
2984
  if (from2._x_isShown && !to._x_isShown) return;
2944
2985
  if (!from2._x_isShown && to._x_isShown) return;
2945
2986
  let domAttributes = Array.from(from2.attributes);
@@ -2954,115 +2995,118 @@ function $512e3a9270ec7803$export$2e5e8c41f5d4e7c7(from, toHtml, options) {
2954
2995
  if (from2.getAttribute(name) !== value) from2.setAttribute(name, value);
2955
2996
  }
2956
2997
  }
2957
- function patchChildren(fromChildren, toChildren, appendFn) {
2958
- let fromKeyDomNodeMap = {};
2998
+ function patchChildren(from2, to) {
2999
+ if (from2._x_teleport) from2 = from2._x_teleport;
3000
+ if (to._x_teleport) to = to._x_teleport;
3001
+ let fromKeys = keyToMap(from2.children);
2959
3002
  let fromKeyHoldovers = {};
2960
- let currentTo = $512e3a9270ec7803$var$dom.first(toChildren);
2961
- let currentFrom = $512e3a9270ec7803$var$dom.first(fromChildren);
3003
+ let currentTo = $512e3a9270ec7803$var$getFirstNode(to);
3004
+ let currentFrom = $512e3a9270ec7803$var$getFirstNode(from2);
2962
3005
  while(currentTo){
3006
+ $512e3a9270ec7803$var$seedingMatchingId(currentTo, currentFrom);
2963
3007
  let toKey = getKey(currentTo);
2964
3008
  let fromKey = getKey(currentFrom);
2965
3009
  if (!currentFrom) {
2966
3010
  if (toKey && fromKeyHoldovers[toKey]) {
2967
3011
  let holdover = fromKeyHoldovers[toKey];
2968
- fromChildren = $512e3a9270ec7803$var$dom.append(fromChildren, holdover, appendFn);
3012
+ from2.appendChild(holdover);
2969
3013
  currentFrom = holdover;
2970
3014
  } else {
2971
3015
  if (!$512e3a9270ec7803$var$shouldSkip(adding, currentTo)) {
2972
3016
  let clone = currentTo.cloneNode(true);
2973
- fromChildren = $512e3a9270ec7803$var$dom.append(fromChildren, clone, appendFn);
3017
+ from2.appendChild(clone);
2974
3018
  added(clone);
2975
3019
  }
2976
- currentTo = $512e3a9270ec7803$var$dom.next(toChildren, currentTo);
3020
+ currentTo = $512e3a9270ec7803$var$getNextSibling(to, currentTo);
2977
3021
  continue;
2978
3022
  }
2979
3023
  }
2980
- let isIf = (node)=>node.nodeType === 8 && node.textContent === " __BLOCK__ ";
2981
- let isEnd = (node)=>node.nodeType === 8 && node.textContent === " __ENDBLOCK__ ";
3024
+ let isIf = (node)=>node && node.nodeType === 8 && node.textContent === "[if BLOCK]><![endif]";
3025
+ let isEnd = (node)=>node && node.nodeType === 8 && node.textContent === "[if ENDBLOCK]><![endif]";
2982
3026
  if (isIf(currentTo) && isIf(currentFrom)) {
2983
- let newFromChildren = [];
2984
- let appendPoint;
2985
3027
  let nestedIfCount = 0;
3028
+ let fromBlockStart = currentFrom;
2986
3029
  while(currentFrom){
2987
- let next = $512e3a9270ec7803$var$dom.next(fromChildren, currentFrom);
3030
+ let next = $512e3a9270ec7803$var$getNextSibling(from2, currentFrom);
2988
3031
  if (isIf(next)) nestedIfCount++;
2989
3032
  else if (isEnd(next) && nestedIfCount > 0) nestedIfCount--;
2990
3033
  else if (isEnd(next) && nestedIfCount === 0) {
2991
- currentFrom = $512e3a9270ec7803$var$dom.next(fromChildren, next);
2992
- appendPoint = next;
3034
+ currentFrom = next;
2993
3035
  break;
2994
3036
  }
2995
- newFromChildren.push(next);
2996
3037
  currentFrom = next;
2997
3038
  }
2998
- let newToChildren = [];
3039
+ let fromBlockEnd = currentFrom;
2999
3040
  nestedIfCount = 0;
3041
+ let toBlockStart = currentTo;
3000
3042
  while(currentTo){
3001
- let next = $512e3a9270ec7803$var$dom.next(toChildren, currentTo);
3043
+ let next = $512e3a9270ec7803$var$getNextSibling(to, currentTo);
3002
3044
  if (isIf(next)) nestedIfCount++;
3003
3045
  else if (isEnd(next) && nestedIfCount > 0) nestedIfCount--;
3004
3046
  else if (isEnd(next) && nestedIfCount === 0) {
3005
- currentTo = $512e3a9270ec7803$var$dom.next(toChildren, next);
3047
+ currentTo = next;
3006
3048
  break;
3007
3049
  }
3008
- newToChildren.push(next);
3009
3050
  currentTo = next;
3010
3051
  }
3011
- patchChildren(newFromChildren, newToChildren, (node)=>appendPoint.before(node));
3052
+ let toBlockEnd = currentTo;
3053
+ let fromBlock = new $512e3a9270ec7803$var$Block(fromBlockStart, fromBlockEnd);
3054
+ let toBlock = new $512e3a9270ec7803$var$Block(toBlockStart, toBlockEnd);
3055
+ patchChildren(fromBlock, toBlock);
3012
3056
  continue;
3013
3057
  }
3014
- if (currentFrom.nodeType === 1 && lookahead) {
3015
- let nextToElementSibling = $512e3a9270ec7803$var$dom.next(toChildren, currentTo);
3058
+ if (currentFrom.nodeType === 1 && lookahead && !currentFrom.isEqualNode(currentTo)) {
3059
+ let nextToElementSibling = $512e3a9270ec7803$var$getNextSibling(to, currentTo);
3016
3060
  let found = false;
3017
3061
  while(!found && nextToElementSibling){
3018
- if (currentFrom.isEqualNode(nextToElementSibling)) {
3062
+ if (nextToElementSibling.nodeType === 1 && currentFrom.isEqualNode(nextToElementSibling)) {
3019
3063
  found = true;
3020
- [fromChildren, currentFrom] = addNodeBefore(fromChildren, currentTo, currentFrom);
3064
+ currentFrom = addNodeBefore(from2, currentTo, currentFrom);
3021
3065
  fromKey = getKey(currentFrom);
3022
3066
  }
3023
- nextToElementSibling = $512e3a9270ec7803$var$dom.next(toChildren, nextToElementSibling);
3067
+ nextToElementSibling = $512e3a9270ec7803$var$getNextSibling(to, nextToElementSibling);
3024
3068
  }
3025
3069
  }
3026
3070
  if (toKey !== fromKey) {
3027
3071
  if (!toKey && fromKey) {
3028
3072
  fromKeyHoldovers[fromKey] = currentFrom;
3029
- [fromChildren, currentFrom] = addNodeBefore(fromChildren, currentTo, currentFrom);
3030
- fromChildren = $512e3a9270ec7803$var$dom.remove(fromChildren, fromKeyHoldovers[fromKey]);
3031
- currentFrom = $512e3a9270ec7803$var$dom.next(fromChildren, currentFrom);
3032
- currentTo = $512e3a9270ec7803$var$dom.next(toChildren, currentTo);
3073
+ currentFrom = addNodeBefore(from2, currentTo, currentFrom);
3074
+ fromKeyHoldovers[fromKey].remove();
3075
+ currentFrom = $512e3a9270ec7803$var$getNextSibling(from2, currentFrom);
3076
+ currentTo = $512e3a9270ec7803$var$getNextSibling(to, currentTo);
3033
3077
  continue;
3034
3078
  }
3035
3079
  if (toKey && !fromKey) {
3036
- if (fromKeyDomNodeMap[toKey]) {
3037
- fromChildren = $512e3a9270ec7803$var$dom.replace(fromChildren, currentFrom, fromKeyDomNodeMap[toKey]);
3038
- currentFrom = fromKeyDomNodeMap[toKey];
3080
+ if (fromKeys[toKey]) {
3081
+ currentFrom.replaceWith(fromKeys[toKey]);
3082
+ currentFrom = fromKeys[toKey];
3039
3083
  }
3040
3084
  }
3041
3085
  if (toKey && fromKey) {
3042
- let fromKeyNode = fromKeyDomNodeMap[toKey];
3086
+ let fromKeyNode = fromKeys[toKey];
3043
3087
  if (fromKeyNode) {
3044
3088
  fromKeyHoldovers[fromKey] = currentFrom;
3045
- fromChildren = $512e3a9270ec7803$var$dom.replace(fromChildren, currentFrom, fromKeyNode);
3089
+ currentFrom.replaceWith(fromKeyNode);
3046
3090
  currentFrom = fromKeyNode;
3047
3091
  } else {
3048
3092
  fromKeyHoldovers[fromKey] = currentFrom;
3049
- [fromChildren, currentFrom] = addNodeBefore(fromChildren, currentTo, currentFrom);
3050
- fromChildren = $512e3a9270ec7803$var$dom.remove(fromChildren, fromKeyHoldovers[fromKey]);
3051
- currentFrom = $512e3a9270ec7803$var$dom.next(fromChildren, currentFrom);
3052
- currentTo = $512e3a9270ec7803$var$dom.next(toChildren, currentTo);
3093
+ currentFrom = addNodeBefore(from2, currentTo, currentFrom);
3094
+ fromKeyHoldovers[fromKey].remove();
3095
+ currentFrom = $512e3a9270ec7803$var$getNextSibling(from2, currentFrom);
3096
+ currentTo = $512e3a9270ec7803$var$getNextSibling(to, currentTo);
3053
3097
  continue;
3054
3098
  }
3055
3099
  }
3056
3100
  }
3057
- let currentFromNext = currentFrom && $512e3a9270ec7803$var$dom.next(fromChildren, currentFrom);
3101
+ let currentFromNext = currentFrom && $512e3a9270ec7803$var$getNextSibling(from2, currentFrom);
3058
3102
  patch(currentFrom, currentTo);
3059
- currentTo = currentTo && $512e3a9270ec7803$var$dom.next(toChildren, currentTo);
3103
+ currentTo = currentTo && $512e3a9270ec7803$var$getNextSibling(to, currentTo);
3060
3104
  currentFrom = currentFromNext;
3061
3105
  }
3062
3106
  let removals = [];
3063
3107
  while(currentFrom){
3064
3108
  if (!$512e3a9270ec7803$var$shouldSkip(removing, currentFrom)) removals.push(currentFrom);
3065
- currentFrom = $512e3a9270ec7803$var$dom.next(fromChildren, currentFrom);
3109
+ currentFrom = $512e3a9270ec7803$var$getNextSibling(from2, currentFrom);
3066
3110
  }
3067
3111
  while(removals.length){
3068
3112
  let domForRemoval = removals.shift();
@@ -3075,53 +3119,90 @@ function $512e3a9270ec7803$export$2e5e8c41f5d4e7c7(from, toHtml, options) {
3075
3119
  }
3076
3120
  function keyToMap(els) {
3077
3121
  let map = {};
3078
- els.forEach((el)=>{
3122
+ for (let el of els){
3079
3123
  let theKey = getKey(el);
3080
3124
  if (theKey) map[theKey] = el;
3081
- });
3125
+ }
3082
3126
  return map;
3083
3127
  }
3084
- function addNodeBefore(children, node, beforeMe) {
3128
+ function addNodeBefore(parent, node, beforeMe) {
3085
3129
  if (!$512e3a9270ec7803$var$shouldSkip(adding, node)) {
3086
3130
  let clone = node.cloneNode(true);
3087
- children = $512e3a9270ec7803$var$dom.before(children, beforeMe, clone);
3131
+ parent.insertBefore(clone, beforeMe);
3088
3132
  added(clone);
3089
- return [
3090
- children,
3091
- clone
3092
- ];
3133
+ return clone;
3093
3134
  }
3094
- return [
3095
- children,
3096
- node
3097
- ];
3135
+ return node;
3098
3136
  }
3099
3137
  assignOptions(options);
3100
3138
  fromEl = from;
3101
3139
  toEl = typeof toHtml === "string" ? $512e3a9270ec7803$var$createElement(toHtml) : toHtml;
3102
3140
  if (window.Alpine && window.Alpine.closestDataStack && !from._x_dataStack) {
3103
3141
  toEl._x_dataStack = window.Alpine.closestDataStack(from);
3104
- toEl._x_dataStack && window.Alpine.clone(from, toEl);
3142
+ toEl._x_dataStack && window.Alpine.cloneNode(from, toEl);
3105
3143
  }
3106
3144
  patch(from, toEl);
3107
3145
  fromEl = void 0;
3108
3146
  toEl = void 0;
3109
3147
  return from;
3110
3148
  }
3111
- $512e3a9270ec7803$export$2e5e8c41f5d4e7c7.step = ()=>$512e3a9270ec7803$var$resolveStep();
3112
- $512e3a9270ec7803$export$2e5e8c41f5d4e7c7.log = (theLogger)=>{
3113
- $512e3a9270ec7803$var$logger = theLogger;
3114
- };
3149
+ $512e3a9270ec7803$export$2e5e8c41f5d4e7c7.step = ()=>{};
3150
+ $512e3a9270ec7803$export$2e5e8c41f5d4e7c7.log = ()=>{};
3115
3151
  function $512e3a9270ec7803$var$shouldSkip(hook, ...args) {
3116
3152
  let skip = false;
3117
3153
  hook(...args, ()=>skip = true);
3118
3154
  return skip;
3119
3155
  }
3120
- function $512e3a9270ec7803$var$initializeAlpineOnTo(from, to, childrenOnly) {
3121
- if (from.nodeType !== 1) return;
3122
- if (from._x_dataStack) window.Alpine.clone(from, to);
3123
- }
3124
3156
  var $512e3a9270ec7803$var$patched = false;
3157
+ function $512e3a9270ec7803$var$createElement(html) {
3158
+ const template = document.createElement("template");
3159
+ template.innerHTML = html;
3160
+ return template.content.firstElementChild;
3161
+ }
3162
+ function $512e3a9270ec7803$var$textOrComment(el) {
3163
+ return el.nodeType === 3 || el.nodeType === 8;
3164
+ }
3165
+ var $512e3a9270ec7803$var$Block = class {
3166
+ constructor(start, end){
3167
+ this.startComment = start;
3168
+ this.endComment = end;
3169
+ }
3170
+ get children() {
3171
+ let children = [];
3172
+ let currentNode = this.startComment.nextSibling;
3173
+ while(currentNode && currentNode !== this.endComment){
3174
+ children.push(currentNode);
3175
+ currentNode = currentNode.nextSibling;
3176
+ }
3177
+ return children;
3178
+ }
3179
+ appendChild(child) {
3180
+ this.endComment.before(child);
3181
+ }
3182
+ get firstChild() {
3183
+ let first = this.startComment.nextSibling;
3184
+ if (first === this.endComment) return;
3185
+ return first;
3186
+ }
3187
+ nextNode(reference) {
3188
+ let next = reference.nextSibling;
3189
+ if (next === this.endComment) return;
3190
+ return next;
3191
+ }
3192
+ insertBefore(newNode, reference) {
3193
+ reference.before(newNode);
3194
+ return newNode;
3195
+ }
3196
+ };
3197
+ function $512e3a9270ec7803$var$getFirstNode(parent) {
3198
+ return parent.firstChild;
3199
+ }
3200
+ function $512e3a9270ec7803$var$getNextSibling(parent, reference) {
3201
+ let next;
3202
+ if (parent instanceof $512e3a9270ec7803$var$Block) next = parent.nextNode(reference);
3203
+ else next = reference.nextSibling;
3204
+ return next;
3205
+ }
3125
3206
  function $512e3a9270ec7803$var$monkeyPatchDomSetAttributeToAllowAtSymbols() {
3126
3207
  if ($512e3a9270ec7803$var$patched) return;
3127
3208
  $512e3a9270ec7803$var$patched = true;
@@ -3135,6 +3216,12 @@ function $512e3a9270ec7803$var$monkeyPatchDomSetAttributeToAllowAtSymbols() {
3135
3216
  this.setAttributeNode(attr);
3136
3217
  };
3137
3218
  }
3219
+ function $512e3a9270ec7803$var$seedingMatchingId(to, from) {
3220
+ let fromId = from && from._x_bindings && from._x_bindings.id;
3221
+ if (!fromId) return;
3222
+ to.setAttribute("id", fromId);
3223
+ to.id = fromId;
3224
+ }
3138
3225
  // packages/morph/src/index.js
3139
3226
  function $512e3a9270ec7803$var$src_default(Alpine) {
3140
3227
  Alpine.morph = $512e3a9270ec7803$export$2e5e8c41f5d4e7c7;
@@ -3144,10 +3231,21 @@ var $512e3a9270ec7803$export$2e2bcd8739ae039 = $512e3a9270ec7803$var$src_default
3144
3231
 
3145
3232
 
3146
3233
  // packages/persist/src/index.js
3147
- function $a5acee56471cec18$var$src_default(Alpine) {
3234
+ function $a5acee56471cec18$export$9a6132153fba2e0(Alpine) {
3148
3235
  let persist = ()=>{
3149
3236
  let alias;
3150
- let storage = localStorage;
3237
+ let storage;
3238
+ try {
3239
+ storage = localStorage;
3240
+ } catch (e) {
3241
+ console.error(e);
3242
+ console.warn("Alpine: $persist is using temporary storage since localStorage is unavailable.");
3243
+ let dummy = /* @__PURE__ */ new Map();
3244
+ storage = {
3245
+ getItem: dummy.get.bind(dummy),
3246
+ setItem: dummy.set.bind(dummy)
3247
+ };
3248
+ }
3151
3249
  return Alpine.interceptor((initialValue, getter, setter, path, key)=>{
3152
3250
  let lookup = alias || `_x_${path}`;
3153
3251
  let initial = $a5acee56471cec18$var$storageHas(lookup, storage) ? $a5acee56471cec18$var$storageGet(lookup, storage) : initialValue;
@@ -3172,7 +3270,7 @@ function $a5acee56471cec18$var$src_default(Alpine) {
3172
3270
  get: ()=>persist()
3173
3271
  });
3174
3272
  Alpine.magic("persist", persist);
3175
- Alpine.persist = (key, { get: get , set: set }, storage = localStorage)=>{
3273
+ Alpine.persist = (key, { get: get, set: set }, storage = localStorage)=>{
3176
3274
  let initial = $a5acee56471cec18$var$storageHas(key, storage) ? $a5acee56471cec18$var$storageGet(key, storage) : get();
3177
3275
  set(initial);
3178
3276
  Alpine.effect(()=>{
@@ -3192,7 +3290,7 @@ function $a5acee56471cec18$var$storageSet(key, value, storage) {
3192
3290
  storage.setItem(key, JSON.stringify(value));
3193
3291
  }
3194
3292
  // packages/persist/builds/module.js
3195
- var $a5acee56471cec18$export$2e2bcd8739ae039 = $a5acee56471cec18$var$src_default;
3293
+ var $a5acee56471cec18$export$2e2bcd8739ae039 = $a5acee56471cec18$export$9a6132153fba2e0;
3196
3294
 
3197
3295
 
3198
3296
  var $69a8ec8dbeef3157$var$__create = Object.create;
@@ -4832,7 +4930,7 @@ var $69a8ec8dbeef3157$var$require_tippy_cjs = $69a8ec8dbeef3157$var$__commonJS((
4832
4930
  return value.replace(spacesAndTabs, " ").replace(lineStartWithSpaces, "").trim();
4833
4931
  }
4834
4932
  function getDevMessage(message) {
4835
- return clean("\n %ctippy.js\n\n %c" + clean(message) + "\n\n %c\uD83D\uDC77 This is a development-only message. It will be removed in production.\n ");
4933
+ return clean("\n %ctippy.js\n\n %c" + clean(message) + "\n\n %c\uD83D\uDC77\u200D This is a development-only message. It will be removed in production.\n ");
4836
4934
  }
4837
4935
  function getFormattedMessage(message) {
4838
4936
  return [
@@ -6426,12 +6524,23 @@ var $69a8ec8dbeef3157$var$buildConfigFromModifiers = (modifiers)=>{
6426
6524
  if (modifiers.includes("max-width")) config.maxWidth = parseInt(getModifierArgument("max-width"));
6427
6525
  if (modifiers.includes("theme")) config.theme = getModifierArgument("theme");
6428
6526
  if (modifiers.includes("placement")) config.placement = getModifierArgument("placement");
6527
+ const popperOptions = {};
6528
+ if (modifiers.includes("no-flip")) {
6529
+ popperOptions.modifiers ||= [];
6530
+ popperOptions.modifiers.push({
6531
+ name: "flip",
6532
+ enabled: false
6533
+ });
6534
+ }
6535
+ config.popperOptions = popperOptions;
6429
6536
  return config;
6430
6537
  };
6431
6538
  // src/index.js
6432
- function $69a8ec8dbeef3157$var$src_default(Alpine) {
6539
+ function $69a8ec8dbeef3157$var$Tooltip(Alpine) {
6433
6540
  Alpine.magic("tooltip", (el)=>{
6434
6541
  return (content, config = {})=>{
6542
+ const timeout = config.timeout;
6543
+ delete config.timeout;
6435
6544
  const instance = (0, $69a8ec8dbeef3157$var$import_tippy2.default)(el, {
6436
6545
  content: content,
6437
6546
  trigger: "manual",
@@ -6441,10 +6550,10 @@ function $69a8ec8dbeef3157$var$src_default(Alpine) {
6441
6550
  setTimeout(()=>{
6442
6551
  instance.hide();
6443
6552
  setTimeout(()=>instance.destroy(), config.duration || 300);
6444
- }, config.timeout || 2e3);
6553
+ }, timeout || 2e3);
6445
6554
  };
6446
6555
  });
6447
- Alpine.directive("tooltip", (el, { modifiers: modifiers , expression: expression }, { evaluateLater: evaluateLater , effect: effect })=>{
6556
+ Alpine.directive("tooltip", (el, { modifiers: modifiers, expression: expression }, { evaluateLater: evaluateLater, effect: effect })=>{
6448
6557
  const config = modifiers.length > 0 ? $69a8ec8dbeef3157$var$buildConfigFromModifiers(modifiers) : {};
6449
6558
  if (!el.__x_tippy) el.__x_tippy = (0, $69a8ec8dbeef3157$var$import_tippy2.default)(el, config);
6450
6559
  const enableTooltip = ()=>el.__x_tippy.enable();
@@ -6470,6 +6579,11 @@ function $69a8ec8dbeef3157$var$src_default(Alpine) {
6470
6579
  }
6471
6580
  });
6472
6581
  }
6582
+ $69a8ec8dbeef3157$var$Tooltip.defaultProps = (props)=>{
6583
+ $69a8ec8dbeef3157$var$import_tippy2.default.setDefaultProps(props);
6584
+ return $69a8ec8dbeef3157$var$Tooltip;
6585
+ };
6586
+ var $69a8ec8dbeef3157$var$src_default = $69a8ec8dbeef3157$var$Tooltip;
6473
6587
  // builds/module.js
6474
6588
  var $69a8ec8dbeef3157$export$2e2bcd8739ae039 = $69a8ec8dbeef3157$var$src_default;
6475
6589
 
@@ -6498,6 +6612,8 @@ var $5267f0d63de538ba$exports = {};
6498
6612
  "warn",
6499
6613
  "error"
6500
6614
  ];
6615
+ var _loggersByName = {};
6616
+ var defaultLogger = null;
6501
6617
  // Cross-browser bind equivalent that works at least back to IE6
6502
6618
  function bindMethod(obj, methodName) {
6503
6619
  var method = obj[methodName];
@@ -6537,33 +6653,54 @@ var $5267f0d63de538ba$exports = {};
6537
6653
  else return noop;
6538
6654
  }
6539
6655
  // These private functions always need `this` to be set properly
6540
- function replaceLoggingMethods(level, loggerName) {
6541
- /*jshint validthis:true */ for(var i = 0; i < logMethods.length; i++){
6656
+ function replaceLoggingMethods() {
6657
+ /*jshint validthis:true */ var level = this.getLevel();
6658
+ // Replace the actual methods.
6659
+ for(var i = 0; i < logMethods.length; i++){
6542
6660
  var methodName = logMethods[i];
6543
- this[methodName] = i < level ? noop : this.methodFactory(methodName, level, loggerName);
6661
+ this[methodName] = i < level ? noop : this.methodFactory(methodName, level, this.name);
6544
6662
  }
6545
6663
  // Define log.log as an alias for log.debug
6546
6664
  this.log = this.debug;
6665
+ // Return any important warnings.
6666
+ if (typeof console === undefinedType && level < this.levels.SILENT) return "No console available for logging";
6547
6667
  }
6548
6668
  // In old IE versions, the console isn't present until you first open it.
6549
6669
  // We build realMethod() replacements here that regenerate logging methods
6550
- function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {
6670
+ function enableLoggingWhenConsoleArrives(methodName) {
6551
6671
  return function() {
6552
6672
  if (typeof console !== undefinedType) {
6553
- replaceLoggingMethods.call(this, level, loggerName);
6673
+ replaceLoggingMethods.call(this);
6554
6674
  this[methodName].apply(this, arguments);
6555
6675
  }
6556
6676
  };
6557
6677
  }
6558
6678
  // By default, we use closely bound real methods wherever possible, and
6559
6679
  // otherwise we wait for a console to appear, and then try again.
6560
- function defaultMethodFactory(methodName, level, loggerName) {
6680
+ function defaultMethodFactory(methodName, _level, _loggerName) {
6561
6681
  /*jshint validthis:true */ return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments);
6562
6682
  }
6563
- function Logger(name, defaultLevel, factory) {
6683
+ function Logger(name, factory) {
6684
+ // Private instance variables.
6564
6685
  var self = this;
6565
- var currentLevel;
6566
- defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
6686
+ /**
6687
+ * The level inherited from a parent logger (or a global default). We
6688
+ * cache this here rather than delegating to the parent so that it stays
6689
+ * in sync with the actual logging methods that we have installed (the
6690
+ * parent could change levels but we might not have rebuilt the loggers
6691
+ * in this child yet).
6692
+ * @type {number}
6693
+ */ var inheritedLevel;
6694
+ /**
6695
+ * The default level for this logger, if any. If set, this overrides
6696
+ * `inheritedLevel`.
6697
+ * @type {number|null}
6698
+ */ var defaultLevel;
6699
+ /**
6700
+ * A user-specific level for this logger. If set, this overrides
6701
+ * `defaultLevel`.
6702
+ * @type {number|null}
6703
+ */ var userLevel;
6567
6704
  var storageKey = "loglevel";
6568
6705
  if (typeof name === "string") storageKey += ":" + name;
6569
6706
  else if (typeof name === "symbol") storageKey = undefined;
@@ -6589,8 +6726,9 @@ var $5267f0d63de538ba$exports = {};
6589
6726
  // Fallback to cookies if local storage gives us nothing
6590
6727
  if (typeof storedLevel === undefinedType) try {
6591
6728
  var cookie = window.document.cookie;
6592
- var location = cookie.indexOf(encodeURIComponent(storageKey) + "=");
6593
- if (location !== -1) storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];
6729
+ var cookieName = encodeURIComponent(storageKey);
6730
+ var location = cookie.indexOf(cookieName + "=");
6731
+ if (location !== -1) storedLevel = /^([^;]+)/.exec(cookie.slice(location + cookieName.length + 1))[1];
6594
6732
  } catch (ignore) {}
6595
6733
  // If the stored level is not valid, treat it as if nothing was stored.
6596
6734
  if (self.levels[storedLevel] === undefined) storedLevel = undefined;
@@ -6601,13 +6739,18 @@ var $5267f0d63de538ba$exports = {};
6601
6739
  // Use localStorage if available
6602
6740
  try {
6603
6741
  window.localStorage.removeItem(storageKey);
6604
- return;
6605
6742
  } catch (ignore) {}
6606
6743
  // Use session cookie as fallback
6607
6744
  try {
6608
6745
  window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
6609
6746
  } catch (ignore) {}
6610
6747
  }
6748
+ function normalizeLevel(input) {
6749
+ var level = input;
6750
+ if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) level = self.levels[level.toUpperCase()];
6751
+ if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) return level;
6752
+ else throw new TypeError("log.setLevel() called with invalid level: " + input);
6753
+ }
6611
6754
  /*
6612
6755
  *
6613
6756
  * Public logger API - see https://github.com/pimterry/loglevel for details
@@ -6623,24 +6766,24 @@ var $5267f0d63de538ba$exports = {};
6623
6766
  };
6624
6767
  self.methodFactory = factory || defaultMethodFactory;
6625
6768
  self.getLevel = function() {
6626
- return currentLevel;
6769
+ if (userLevel != null) return userLevel;
6770
+ else if (defaultLevel != null) return defaultLevel;
6771
+ else return inheritedLevel;
6627
6772
  };
6628
6773
  self.setLevel = function(level, persist) {
6629
- if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) level = self.levels[level.toUpperCase()];
6630
- if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
6631
- currentLevel = level;
6632
- if (persist !== false) persistLevelIfPossible(level);
6633
- replaceLoggingMethods.call(self, level, name);
6634
- if (typeof console === undefinedType && level < self.levels.SILENT) return "No console available for logging";
6635
- } else throw "log.setLevel() called with invalid level: " + level;
6774
+ userLevel = normalizeLevel(level);
6775
+ if (persist !== false) persistLevelIfPossible(userLevel);
6776
+ // NOTE: in v2, this should call rebuild(), which updates children.
6777
+ return replaceLoggingMethods.call(self);
6636
6778
  };
6637
6779
  self.setDefaultLevel = function(level) {
6638
- defaultLevel = level;
6780
+ defaultLevel = normalizeLevel(level);
6639
6781
  if (!getPersistedLevel()) self.setLevel(level, false);
6640
6782
  };
6641
6783
  self.resetLevel = function() {
6642
- self.setLevel(defaultLevel, false);
6784
+ userLevel = null;
6643
6785
  clearPersistedLevel();
6786
+ replaceLoggingMethods.call(self);
6644
6787
  };
6645
6788
  self.enableAll = function(persist) {
6646
6789
  self.setLevel(self.levels.TRACE, persist);
@@ -6648,21 +6791,26 @@ var $5267f0d63de538ba$exports = {};
6648
6791
  self.disableAll = function(persist) {
6649
6792
  self.setLevel(self.levels.SILENT, persist);
6650
6793
  };
6651
- // Initialize with the right level
6794
+ self.rebuild = function() {
6795
+ if (defaultLogger !== self) inheritedLevel = normalizeLevel(defaultLogger.getLevel());
6796
+ replaceLoggingMethods.call(self);
6797
+ if (defaultLogger === self) for(var childName in _loggersByName)_loggersByName[childName].rebuild();
6798
+ };
6799
+ // Initialize all the internal levels.
6800
+ inheritedLevel = normalizeLevel(defaultLogger ? defaultLogger.getLevel() : "WARN");
6652
6801
  var initialLevel = getPersistedLevel();
6653
- if (initialLevel == null) initialLevel = defaultLevel;
6654
- self.setLevel(initialLevel, false);
6802
+ if (initialLevel != null) userLevel = normalizeLevel(initialLevel);
6803
+ replaceLoggingMethods.call(self);
6655
6804
  }
6656
6805
  /*
6657
6806
  *
6658
6807
  * Top-level API
6659
6808
  *
6660
- */ var defaultLogger = new Logger();
6661
- var _loggersByName = {};
6809
+ */ defaultLogger = new Logger();
6662
6810
  defaultLogger.getLogger = function getLogger(name) {
6663
6811
  if (typeof name !== "symbol" && typeof name !== "string" || name === "") throw new TypeError("You must supply a name when creating a logger.");
6664
6812
  var logger = _loggersByName[name];
6665
- if (!logger) logger = _loggersByName[name] = new Logger(name, defaultLogger.getLevel(), defaultLogger.methodFactory);
6813
+ if (!logger) logger = _loggersByName[name] = new Logger(name, defaultLogger.methodFactory);
6666
6814
  return logger;
6667
6815
  };
6668
6816
  // Grab the current global log variable in case of overwrite
@@ -6784,7 +6932,7 @@ let $227a3c1b2ea887ad$var$logLevel = 3;
6784
6932
  if (window.LOG_LEVEL !== undefined) $227a3c1b2ea887ad$var$logLevel = window.LOG_LEVEL;
6785
6933
  (0, (/*@__PURE__*/$parcel$interopDefault($5267f0d63de538ba$exports))).setLevel($227a3c1b2ea887ad$var$logLevel);
6786
6934
  function $227a3c1b2ea887ad$export$2e2bcd8739ae039(Alpine) {
6787
- Alpine.directive("log", (el, { modifiers: modifiers , expression: expression }, { evaluateLater: evaluateLater , effect: effect })=>{
6935
+ Alpine.directive("log", (el, { modifiers: modifiers, expression: expression }, { evaluateLater: evaluateLater, effect: effect })=>{
6788
6936
  let logFn = typeof expression === "string" ? (callback)=>callback(expression) : evaluateLater(expression);
6789
6937
  effect(()=>logFn((message)=>{
6790
6938
  const level = modifiers[0] || "debug";
@@ -6863,13 +7011,13 @@ function $fb8f79f7dd40b68f$export$c788aab010beeaec(data) {
6863
7011
  }
6864
7012
 
6865
7013
 
6866
- const { sidebar: $b8cbee737d5fb22b$var$sidebar , main: $b8cbee737d5fb22b$var$main , inspector: $b8cbee737d5fb22b$var$inspector } = (0, $f4afa2ce11c8f99d$export$2e2bcd8739ae039);
6867
- function $b8cbee737d5fb22b$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7014
+ const { sidebar: $b8cbee737d5fb22b$var$sidebar, main: $b8cbee737d5fb22b$var$main, inspector: $b8cbee737d5fb22b$var$inspector } = (0, $f4afa2ce11c8f99d$export$2e2bcd8739ae039);
7015
+ function $b8cbee737d5fb22b$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
6868
7016
  return {
6869
7017
  init () {
6870
7018
  (0, $7ecd1fc3a6b35e5c$export$33d4bfa367d0ee08)(`(min-width: ${(0, $f4afa2ce11c8f99d$export$2e2bcd8739ae039).desktopWidth}px)`, (matches)=>{
6871
7019
  this._isDesktop = matches;
6872
- (0, (/*@__PURE__*/$parcel$interopDefault($5267f0d63de538ba$exports))).debug(`Media query 'desktop': ${matches ? " match" : " no match"}`);
7020
+ (0, (/*@__PURE__*/$parcel$interopDefault($5267f0d63de538ba$exports))).debug(`Media query 'desktop': ${matches ? "\u2705 match" : "\u274C no match"}`);
6873
7021
  });
6874
7022
  },
6875
7023
  get desktop () {
@@ -6971,7 +7119,7 @@ function $c87b0f0bca2ce26b$export$2e2bcd8739ae039(Alpine, name) {
6971
7119
 
6972
7120
 
6973
7121
 
6974
- function $44e1c947423754b0$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7122
+ function $44e1c947423754b0$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
6975
7123
  return {
6976
7124
  previews: {
6977
7125
  filter: (0, $c87b0f0bca2ce26b$export$2e2bcd8739ae039)(Alpine, (0, $fb8f79f7dd40b68f$export$2ce3c33e50a76e49)("previews-filter-text", prefix)),
@@ -6986,7 +7134,7 @@ function $44e1c947423754b0$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
6986
7134
 
6987
7135
 
6988
7136
 
6989
- function $9c7d83377882e3b9$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7137
+ function $9c7d83377882e3b9$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
6990
7138
  return {
6991
7139
  minVerticalSplitWidth: 800,
6992
7140
  main: {
@@ -7006,7 +7154,7 @@ function $9c7d83377882e3b9$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7006
7154
 
7007
7155
 
7008
7156
 
7009
- function $1fa236e81ee747be$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7157
+ function $1fa236e81ee747be$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7010
7158
  return {
7011
7159
  embeds: Alpine.$persist({}).as((0, $fb8f79f7dd40b68f$export$2ce3c33e50a76e49)("pages-embeds", prefix))
7012
7160
  };
@@ -7014,7 +7162,7 @@ function $1fa236e81ee747be$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7014
7162
 
7015
7163
 
7016
7164
 
7017
- function $d56ec5b1270324e7$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7165
+ function $d56ec5b1270324e7$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7018
7166
  return {
7019
7167
  showTooltips: true
7020
7168
  };
@@ -7023,7 +7171,7 @@ function $d56ec5b1270324e7$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7023
7171
 
7024
7172
 
7025
7173
 
7026
- function $728fb5b231175bdb$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7174
+ function $728fb5b231175bdb$export$2e2bcd8739ae039(Alpine, { prefix: prefix }) {
7027
7175
  return {
7028
7176
  filter: (0, $c87b0f0bca2ce26b$export$2e2bcd8739ae039)(Alpine, (0, $fb8f79f7dd40b68f$export$2ce3c33e50a76e49)("workbench-filter", prefix)),
7029
7177
  nav: {
@@ -7750,8 +7898,8 @@ function $490552754c23ef6f$export$b98882f166bb7ce2(link) {
7750
7898
  }
7751
7899
 
7752
7900
 
7753
- async function $41e83ac737081df5$export$51c59e2af49c1a92(url, selector) {
7754
- const response = await fetch(url || window.document.location);
7901
+ async function $41e83ac737081df5$export$51c59e2af49c1a92(url, selector, options = {}) {
7902
+ const response = await fetch(url || window.document.location, options);
7755
7903
  const html = await response.text();
7756
7904
  const doc = new DOMParser().parseFromString(html, "text/html");
7757
7905
  return {
@@ -7781,6 +7929,9 @@ function $5792afa4170ed552$export$2e2bcd8739ae039() {
7781
7929
  const socket = (0, $f57397824b7ddfec$export$2e2bcd8739ae039)(window.SOCKET_PATH);
7782
7930
  socket.addListener("Lookbook::ReloadChannel", ()=>this.updateDOM());
7783
7931
  }
7932
+ this.$watch("$store.layout.mobile", (mobile)=>{
7933
+ if (!mobile) this.$store.layout.sidebar.hidden = true;
7934
+ });
7784
7935
  },
7785
7936
  navigateTo (path) {
7786
7937
  this.debug(`Navigating to ${path}`);
@@ -7791,7 +7942,11 @@ function $5792afa4170ed552$export$2e2bcd8739ae039() {
7791
7942
  this.debug("Navigating to ", window.location.pathname);
7792
7943
  this.$dispatch("navigation:start");
7793
7944
  this.location = window.location;
7794
- await this.updateDOM();
7945
+ await this.updateDOM("#app-main", {
7946
+ headers: {
7947
+ "X-Lookbook-Frame": "main"
7948
+ }
7949
+ });
7795
7950
  this.$dispatch("navigation:complete");
7796
7951
  },
7797
7952
  hijax (evt) {
@@ -7810,13 +7965,13 @@ function $5792afa4170ed552$export$2e2bcd8739ae039() {
7810
7965
  }
7811
7966
  }
7812
7967
  },
7813
- async updateDOM () {
7968
+ async updateDOM (rootSelector = `#${this.$root.id}`, options = {}) {
7814
7969
  this.debug("Starting DOM update");
7815
7970
  this.$dispatch("dom:update-start");
7816
7971
  this.requestStart();
7817
7972
  try {
7818
- const { fragment: fragment , title: title } = await (0, $41e83ac737081df5$export$51c59e2af49c1a92)(window.location, `#${this.$root.id}`);
7819
- (0, $490552754c23ef6f$export$2e5e8c41f5d4e7c7)(this.$root, fragment);
7973
+ const { fragment: fragment, title: title } = await (0, $41e83ac737081df5$export$51c59e2af49c1a92)(window.location, rootSelector, options);
7974
+ (0, $490552754c23ef6f$export$2e5e8c41f5d4e7c7)(document.querySelector(rootSelector), fragment);
7820
7975
  document.title = title;
7821
7976
  this.requestEnd();
7822
7977
  this.$dispatch("dom:update-complete");
@@ -9679,7 +9834,7 @@ function $b013befce1f6217f$var$clean(value) {
9679
9834
  return value.replace(spacesAndTabs, " ").replace(lineStartWithSpaces, "").trim();
9680
9835
  }
9681
9836
  function $b013befce1f6217f$var$getDevMessage(message) {
9682
- return $b013befce1f6217f$var$clean("\n %ctippy.js\n\n %c" + $b013befce1f6217f$var$clean(message) + "\n\n %c\uD83D\uDC77 This is a development-only message. It will be removed in production.\n ");
9837
+ return $b013befce1f6217f$var$clean("\n %ctippy.js\n\n %c" + $b013befce1f6217f$var$clean(message) + "\n\n %c\uD83D\uDC77\u200D This is a development-only message. It will be removed in production.\n ");
9683
9838
  }
9684
9839
  function $b013befce1f6217f$var$getFormattedMessage(message) {
9685
9840
  return [
@@ -11307,7 +11462,7 @@ $parcel$defineInteropFlag($7a759511c361f2bd$exports);
11307
11462
  $parcel$export($7a759511c361f2bd$exports, "initTooltip", () => $7a759511c361f2bd$export$353372104066311a);
11308
11463
  $parcel$export($7a759511c361f2bd$exports, "default", () => $7a759511c361f2bd$export$2e2bcd8739ae039);
11309
11464
 
11310
- function $7a759511c361f2bd$var$tooltipCreator({ target: target }) {
11465
+ function $7a759511c361f2bd$var$tooltipCreator({ target: target }) {
11311
11466
  const content = this.$el.dataset.tooltipText || (this.$refs.tooltip ? this.$refs.tooltip.innerHTML : null);
11312
11467
  if (content) return (0, $789b7d27a7c715a6$export$2e2bcd8739ae039)(target || this.$refs.tooltipTarget || this.$el, {
11313
11468
  delay: [
@@ -11477,7 +11632,7 @@ function $e398acaded942bbe$export$2e2bcd8739ae039(targetSelector) {
11477
11632
  }
11478
11633
  },
11479
11634
  createObserver () {
11480
- if (this.target) this.observer = (0, $7ecd1fc3a6b35e5c$export$a2214cc2adb2dc44)(this.target, ({ width: width , height: height })=>{
11635
+ if (this.target) this.observer = (0, $7ecd1fc3a6b35e5c$export$a2214cc2adb2dc44)(this.target, ({ width: width, height: height })=>{
11481
11636
  this.width = width;
11482
11637
  this.height = height;
11483
11638
  });
@@ -12006,7 +12161,7 @@ var $7cac9a0d4b75bf4e$export$2e2bcd8739ae039 = $7cac9a0d4b75bf4e$var$index;
12006
12161
 
12007
12162
 
12008
12163
 
12009
- function $506dabb2bf255b38$export$2e2bcd8739ae039({ split: split , opts: opts = {} }) {
12164
+ function $506dabb2bf255b38$export$2e2bcd8739ae039({ split: split, opts: opts = {} }) {
12010
12165
  let splitter = null;
12011
12166
  const shouldSplit = split.sizes !== null;
12012
12167
  return {
@@ -12033,7 +12188,7 @@ function $506dabb2bf255b38$export$2e2bcd8739ae039({ split: split , opts: opts =
12033
12188
  else return opts.minSizes || [];
12034
12189
  },
12035
12190
  init () {
12036
- (0, $7ecd1fc3a6b35e5c$export$a2214cc2adb2dc44)(this.$el, ({ width: width , height: height })=>{
12191
+ (0, $7ecd1fc3a6b35e5c$export$a2214cc2adb2dc44)(this.$el, ({ width: width, height: height })=>{
12037
12192
  this.layoutWidth = width;
12038
12193
  this.layoutHeight = height;
12039
12194
  });
@@ -12193,7 +12348,7 @@ function $0db07828cadc68e0$export$2e2bcd8739ae039(store) {
12193
12348
  });
12194
12349
  });
12195
12350
  },
12196
- handleResize ({ width: width }) {
12351
+ handleResize ({ width: width }) {
12197
12352
  if (width === this._lastMeasuredWidth) return;
12198
12353
  if (width === this.$root.offsetWidth) {
12199
12354
  this.visibleTabsCount = this.tabs.length;
@@ -12284,7 +12439,7 @@ function $6d64716f0b34fdf4$export$2e2bcd8739ae039(store) {
12284
12439
  this.onResizeHeightStart(e);
12285
12440
  },
12286
12441
  toggleFullSize () {
12287
- const { height: height , width: width } = store;
12442
+ const { height: height, width: width } = store;
12288
12443
  if (height === "100%" && width === "100%") {
12289
12444
  this.toggleFullHeight();
12290
12445
  this.toggleFullWidth();
@@ -12315,7 +12470,7 @@ function $6d64716f0b34fdf4$export$2e2bcd8739ae039(store) {
12315
12470
  },
12316
12471
  toggleFullWidth () {
12317
12472
  this.$dispatch("viewport:resize-start", this._resizeData);
12318
- const { width: width , lastWidth: lastWidth } = store;
12473
+ const { width: width, lastWidth: lastWidth } = store;
12319
12474
  if (width === "100%" && lastWidth) this.store.width = lastWidth;
12320
12475
  else {
12321
12476
  this.store.lastWidth = width;
@@ -12345,7 +12500,7 @@ function $6d64716f0b34fdf4$export$2e2bcd8739ae039(store) {
12345
12500
  },
12346
12501
  toggleFullHeight () {
12347
12502
  this.$dispatch("viewport:resize-start", this._resizeData);
12348
- const { height: height , lastHeight: lastHeight } = store;
12503
+ const { height: height, lastHeight: lastHeight } = store;
12349
12504
  if (height === "100%" && lastHeight) this.store.height = lastHeight;
12350
12505
  else {
12351
12506
  this.store.lastHeight = height;
@@ -12478,7 +12633,7 @@ var $cdfeaa1e0e8d642c$exports = {};
12478
12633
 
12479
12634
 
12480
12635
 
12481
- function $6a9b69d9cc7f810f$export$2e2bcd8739ae039({ name: name , value: value }) {
12636
+ function $6a9b69d9cc7f810f$export$2e2bcd8739ae039({ name: name, value: value }) {
12482
12637
  return {
12483
12638
  name: name,
12484
12639
  value: value,
@@ -13371,7 +13526,7 @@ function $c299e36fa9e271bc$export$2e2bcd8739ae039(id, embedStore) {
13371
13526
  switchTarget (newTargetPath) {
13372
13527
  this.navigateTo(`${newTargetPath}${window.location.search}`);
13373
13528
  },
13374
- onResized ({ height: height }) {
13529
+ onResized ({ height: height }) {
13375
13530
  if (height) {
13376
13531
  this.viewportHeight = height;
13377
13532
  // Notify parent window of height resize so the parent window can implement
@@ -13396,23 +13551,23 @@ var $9b24cbeb3a465447$exports = {};
13396
13551
  $parcel$defineInteropFlag($9b24cbeb3a465447$exports);
13397
13552
 
13398
13553
  $parcel$export($9b24cbeb3a465447$exports, "default", () => $9b24cbeb3a465447$export$2e2bcd8739ae039);
13399
- function $9b24cbeb3a465447$export$2e2bcd8739ae039({ id: id , matchers: matchers }) {
13554
+ function $9b24cbeb3a465447$export$2e2bcd8739ae039({ id: id, matchers: matchers }) {
13400
13555
  matchers = matchers.map((matcher)=>matcher.replace(/\s/g, "").toLowerCase());
13401
13556
  return {
13402
13557
  filteredOut: false,
13558
+ active: false,
13403
13559
  get open () {
13404
13560
  return this.isCollection && this.isOpen(id);
13405
13561
  },
13406
- get active () {
13407
- if (this.$refs.link) return this.location && this.location.pathname === this.$refs.link.getAttribute("href");
13408
- return false;
13409
- },
13410
13562
  get children () {
13411
13563
  return this.$refs.items ? Array.from(this.$refs.items.children) : [];
13412
13564
  },
13413
13565
  get isCollection () {
13414
13566
  return !this.$refs.link;
13415
13567
  },
13568
+ checkActive () {
13569
+ this.active = this.$refs.link && window.location.pathname === this.$refs.link.getAttribute("href");
13570
+ },
13416
13571
  toggle () {
13417
13572
  this.toggleOpen(id);
13418
13573
  },
@@ -13458,7 +13613,7 @@ function $1a7a7298eec5b755$export$2e2bcd8739ae039() {
13458
13613
  return {
13459
13614
  narrow: false,
13460
13615
  init () {
13461
- (0, $7ecd1fc3a6b35e5c$export$a2214cc2adb2dc44)(this.$el, ({ width: width })=>{
13616
+ (0, $7ecd1fc3a6b35e5c$export$a2214cc2adb2dc44)(this.$el, ({ width: width })=>{
13462
13617
  this.narrow = width < 500;
13463
13618
  });
13464
13619
  }
@@ -13504,7 +13659,7 @@ var $f13f118be065081c$exports = {};
13504
13659
  $parcel$defineInteropFlag($f13f118be065081c$exports);
13505
13660
 
13506
13661
  $parcel$export($f13f118be065081c$exports, "default", () => $f13f118be065081c$export$2e2bcd8739ae039);
13507
- function $f13f118be065081c$export$2e2bcd8739ae039({ name: name , value: value }) {
13662
+ function $f13f118be065081c$export$2e2bcd8739ae039({ name: name, value: value }) {
13508
13663
  return {
13509
13664
  name: name,
13510
13665
  value: value,