plutonium 0.6.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (845) hide show
  1. checksums.yaml +4 -4
  2. data/.node-version +1 -0
  3. data/README copy.md +1 -2
  4. data/README.md +19 -5
  5. data/app/assets/css/plutonium.css +3 -0
  6. data/app/assets/icons/flags/ghana.svg +49 -0
  7. data/app/assets/icons/outline/address-book.svg +3 -0
  8. data/app/assets/icons/outline/adjustments-horizontal.svg +3 -0
  9. data/app/assets/icons/outline/adjustments-vertical.svg +3 -0
  10. data/app/assets/icons/outline/align-center.svg +3 -0
  11. data/app/assets/icons/outline/angle-down.svg +3 -0
  12. data/app/assets/icons/outline/angle-left.svg +3 -0
  13. data/app/assets/icons/outline/angle-right.svg +3 -0
  14. data/app/assets/icons/outline/angle-up.svg +3 -0
  15. data/app/assets/icons/outline/annotation.svg +3 -0
  16. data/app/assets/icons/outline/archive-arrow-down.svg +3 -0
  17. data/app/assets/icons/outline/archive.svg +3 -0
  18. data/app/assets/icons/outline/arrow-down-to-bracket.svg +3 -0
  19. data/app/assets/icons/outline/arrow-down.svg +3 -0
  20. data/app/assets/icons/outline/arrow-left-to-bracket.svg +3 -0
  21. data/app/assets/icons/outline/arrow-left.svg +3 -0
  22. data/app/assets/icons/outline/arrow-right-alt.svg +3 -0
  23. data/app/assets/icons/outline/arrow-right-to-bracket.svg +3 -0
  24. data/app/assets/icons/outline/arrow-right.svg +3 -0
  25. data/app/assets/icons/outline/arrow-sort-letters.svg +3 -0
  26. data/app/assets/icons/outline/arrow-up-down.svg +3 -0
  27. data/app/assets/icons/outline/arrow-up-from-bracket.svg +3 -0
  28. data/app/assets/icons/outline/arrow-up-right-down-left.svg +3 -0
  29. data/app/assets/icons/outline/arrow-up-right-from-square.svg +3 -0
  30. data/app/assets/icons/outline/arrow-up.svg +3 -0
  31. data/app/assets/icons/outline/arrows-repeat-count.svg +3 -0
  32. data/app/assets/icons/outline/arrows-repeat.svg +3 -0
  33. data/app/assets/icons/outline/atom.svg +3 -0
  34. data/app/assets/icons/outline/backward-step.svg +3 -0
  35. data/app/assets/icons/outline/badge-check.svg +3 -0
  36. data/app/assets/icons/outline/bars-from-left.svg +3 -0
  37. data/app/assets/icons/outline/bars.svg +3 -0
  38. data/app/assets/icons/outline/bell-active-alt.svg +3 -0
  39. data/app/assets/icons/outline/bell-active.svg +3 -0
  40. data/app/assets/icons/outline/bell-ring.svg +3 -0
  41. data/app/assets/icons/outline/bell.svg +3 -0
  42. data/app/assets/icons/outline/blender-phone.svg +3 -0
  43. data/app/assets/icons/outline/book-open.svg +3 -0
  44. data/app/assets/icons/outline/book.svg +3 -0
  45. data/app/assets/icons/outline/bookmark.svg +3 -0
  46. data/app/assets/icons/outline/brain.svg +3 -0
  47. data/app/assets/icons/outline/briefcase.svg +3 -0
  48. data/app/assets/icons/outline/bug.svg +3 -0
  49. data/app/assets/icons/outline/building.svg +3 -0
  50. data/app/assets/icons/outline/bullhorn.svg +3 -0
  51. data/app/assets/icons/outline/calendar-edit.svg +3 -0
  52. data/app/assets/icons/outline/calendar-month.svg +3 -0
  53. data/app/assets/icons/outline/calendar-plus.svg +3 -0
  54. data/app/assets/icons/outline/calendar-week.svg +3 -0
  55. data/app/assets/icons/outline/camera-photo.svg +4 -0
  56. data/app/assets/icons/outline/caption.svg +3 -0
  57. data/app/assets/icons/outline/caret-down.svg +3 -0
  58. data/app/assets/icons/outline/caret-left.svg +3 -0
  59. data/app/assets/icons/outline/caret-right.svg +3 -0
  60. data/app/assets/icons/outline/caret-sort.svg +3 -0
  61. data/app/assets/icons/outline/caret-up.svg +3 -0
  62. data/app/assets/icons/outline/cart-plus-alt.svg +3 -0
  63. data/app/assets/icons/outline/cart-plus.svg +3 -0
  64. data/app/assets/icons/outline/cart.svg +3 -0
  65. data/app/assets/icons/outline/cash.svg +3 -0
  66. data/app/assets/icons/outline/chart-line-down.svg +3 -0
  67. data/app/assets/icons/outline/chart-line-up.svg +3 -0
  68. data/app/assets/icons/outline/chart-mixed-dollar.svg +3 -0
  69. data/app/assets/icons/outline/chart-mixed.svg +3 -0
  70. data/app/assets/icons/outline/chart-pie.svg +4 -0
  71. data/app/assets/icons/outline/chart.svg +3 -0
  72. data/app/assets/icons/outline/check-circle.svg +3 -0
  73. data/app/assets/icons/outline/check-plus-circle.svg +3 -0
  74. data/app/assets/icons/outline/check.svg +3 -0
  75. data/app/assets/icons/outline/chevron-double-down.svg +3 -0
  76. data/app/assets/icons/outline/chevron-double-left.svg +3 -0
  77. data/app/assets/icons/outline/chevron-double-right.svg +3 -0
  78. data/app/assets/icons/outline/chevron-double-up.svg +3 -0
  79. data/app/assets/icons/outline/chevron-down.svg +3 -0
  80. data/app/assets/icons/outline/chevron-left.svg +3 -0
  81. data/app/assets/icons/outline/chevron-right.svg +3 -0
  82. data/app/assets/icons/outline/chevron-sort.svg +3 -0
  83. data/app/assets/icons/outline/chevron-up.svg +3 -0
  84. data/app/assets/icons/outline/circle-pause.svg +3 -0
  85. data/app/assets/icons/outline/circle-plus.svg +3 -0
  86. data/app/assets/icons/outline/clapperboard-play.svg +3 -0
  87. data/app/assets/icons/outline/clipboard-check.svg +3 -0
  88. data/app/assets/icons/outline/clipboard-list.svg +3 -0
  89. data/app/assets/icons/outline/clipboard.svg +3 -0
  90. data/app/assets/icons/outline/clock.svg +3 -0
  91. data/app/assets/icons/outline/close-circle.svg +3 -0
  92. data/app/assets/icons/outline/close.svg +3 -0
  93. data/app/assets/icons/outline/cloud-arrow-up.svg +3 -0
  94. data/app/assets/icons/outline/code-branch.svg +3 -0
  95. data/app/assets/icons/outline/code-fork.svg +3 -0
  96. data/app/assets/icons/outline/code-merge.svg +3 -0
  97. data/app/assets/icons/outline/code-pull-request.svg +3 -0
  98. data/app/assets/icons/outline/code.svg +3 -0
  99. data/app/assets/icons/outline/cog.svg +4 -0
  100. data/app/assets/icons/outline/column.svg +3 -0
  101. data/app/assets/icons/outline/command.svg +3 -0
  102. data/app/assets/icons/outline/compress.svg +3 -0
  103. data/app/assets/icons/outline/computer-speaker.svg +3 -0
  104. data/app/assets/icons/outline/credit-card.svg +3 -0
  105. data/app/assets/icons/outline/database.svg +3 -0
  106. data/app/assets/icons/outline/desktop-pc.svg +3 -0
  107. data/app/assets/icons/outline/dna.svg +3 -0
  108. data/app/assets/icons/outline/dollar.svg +3 -0
  109. data/app/assets/icons/outline/dots-horizontal.svg +3 -0
  110. data/app/assets/icons/outline/dots-vertical.svg +3 -0
  111. data/app/assets/icons/outline/download.svg +3 -0
  112. data/app/assets/icons/outline/draw-square.svg +3 -0
  113. data/app/assets/icons/outline/edit.svg +3 -0
  114. data/app/assets/icons/outline/envelope-open.svg +3 -0
  115. data/app/assets/icons/outline/envelope.svg +3 -0
  116. data/app/assets/icons/outline/euro.svg +3 -0
  117. data/app/assets/icons/outline/exclamation-circle.svg +3 -0
  118. data/app/assets/icons/outline/expand.svg +3 -0
  119. data/app/assets/icons/outline/eye-slash.svg +3 -0
  120. data/app/assets/icons/outline/eye.svg +4 -0
  121. data/app/assets/icons/outline/face-explode.svg +4 -0
  122. data/app/assets/icons/outline/face-grin-stars.svg +6 -0
  123. data/app/assets/icons/outline/face-grin.svg +3 -0
  124. data/app/assets/icons/outline/face-laugh.svg +3 -0
  125. data/app/assets/icons/outline/file-chart-bar.svg +3 -0
  126. data/app/assets/icons/outline/file-check.svg +3 -0
  127. data/app/assets/icons/outline/file-circle-plus.svg +3 -0
  128. data/app/assets/icons/outline/file-clone.svg +3 -0
  129. data/app/assets/icons/outline/file-code.svg +3 -0
  130. data/app/assets/icons/outline/file-copy-alt.svg +3 -0
  131. data/app/assets/icons/outline/file-copy.svg +3 -0
  132. data/app/assets/icons/outline/file-csv.svg +3 -0
  133. data/app/assets/icons/outline/file-export.svg +3 -0
  134. data/app/assets/icons/outline/file-image.svg +4 -0
  135. data/app/assets/icons/outline/file-import.svg +3 -0
  136. data/app/assets/icons/outline/file-invoice.svg +3 -0
  137. data/app/assets/icons/outline/file-lines.svg +3 -0
  138. data/app/assets/icons/outline/file-music.svg +3 -0
  139. data/app/assets/icons/outline/file-paste.svg +3 -0
  140. data/app/assets/icons/outline/file-pdf.svg +3 -0
  141. data/app/assets/icons/outline/file-pen.svg +3 -0
  142. data/app/assets/icons/outline/file-ppt.svg +3 -0
  143. data/app/assets/icons/outline/file-search.svg +3 -0
  144. data/app/assets/icons/outline/file-shield.svg +3 -0
  145. data/app/assets/icons/outline/file-video.svg +3 -0
  146. data/app/assets/icons/outline/file-word.svg +3 -0
  147. data/app/assets/icons/outline/file-zip.svg +3 -0
  148. data/app/assets/icons/outline/file.svg +3 -0
  149. data/app/assets/icons/outline/filter.svg +3 -0
  150. data/app/assets/icons/outline/fingerprint.svg +3 -0
  151. data/app/assets/icons/outline/fire.svg +3 -0
  152. data/app/assets/icons/outline/flag.svg +3 -0
  153. data/app/assets/icons/outline/folder-arrow-right.svg +3 -0
  154. data/app/assets/icons/outline/folder-duplicate.svg +3 -0
  155. data/app/assets/icons/outline/folder-open.svg +3 -0
  156. data/app/assets/icons/outline/folder-plus.svg +3 -0
  157. data/app/assets/icons/outline/folder.svg +3 -0
  158. data/app/assets/icons/outline/forward-step.svg +3 -0
  159. data/app/assets/icons/outline/forward.svg +3 -0
  160. data/app/assets/icons/outline/gift-box.svg +3 -0
  161. data/app/assets/icons/outline/globe.svg +3 -0
  162. data/app/assets/icons/outline/grid-plus.svg +3 -0
  163. data/app/assets/icons/outline/grid.svg +3 -0
  164. data/app/assets/icons/outline/headphones.svg +3 -0
  165. data/app/assets/icons/outline/heart.svg +3 -0
  166. data/app/assets/icons/outline/home.svg +3 -0
  167. data/app/assets/icons/outline/hourglass.svg +3 -0
  168. data/app/assets/icons/outline/image.svg +3 -0
  169. data/app/assets/icons/outline/inbox-full.svg +3 -0
  170. data/app/assets/icons/outline/inbox.svg +3 -0
  171. data/app/assets/icons/outline/indent.svg +3 -0
  172. data/app/assets/icons/outline/info-circle.svg +3 -0
  173. data/app/assets/icons/outline/keyboard.svg +5 -0
  174. data/app/assets/icons/outline/label.svg +3 -0
  175. data/app/assets/icons/outline/landmark.svg +3 -0
  176. data/app/assets/icons/outline/layers.svg +3 -0
  177. data/app/assets/icons/outline/letter-bold.svg +3 -0
  178. data/app/assets/icons/outline/letter-italic.svg +3 -0
  179. data/app/assets/icons/outline/letter-underline.svg +3 -0
  180. data/app/assets/icons/outline/life-saver.svg +3 -0
  181. data/app/assets/icons/outline/lightbulb.svg +3 -0
  182. data/app/assets/icons/outline/link.svg +3 -0
  183. data/app/assets/icons/outline/list-music.svg +3 -0
  184. data/app/assets/icons/outline/list.svg +3 -0
  185. data/app/assets/icons/outline/lock-open.svg +3 -0
  186. data/app/assets/icons/outline/lock-time.svg +3 -0
  187. data/app/assets/icons/outline/lock.svg +3 -0
  188. data/app/assets/icons/outline/mail-box.svg +3 -0
  189. data/app/assets/icons/outline/map-pin-alt.svg +4 -0
  190. data/app/assets/icons/outline/map-pin.svg +3 -0
  191. data/app/assets/icons/outline/message-caption.svg +3 -0
  192. data/app/assets/icons/outline/message-dots.svg +3 -0
  193. data/app/assets/icons/outline/messages.svg +3 -0
  194. data/app/assets/icons/outline/microphone.svg +3 -0
  195. data/app/assets/icons/outline/minimize.svg +3 -0
  196. data/app/assets/icons/outline/minus.svg +3 -0
  197. data/app/assets/icons/outline/mobile-phone.svg +3 -0
  198. data/app/assets/icons/outline/moon.svg +3 -0
  199. data/app/assets/icons/outline/newspaper.svg +3 -0
  200. data/app/assets/icons/outline/ordered-list.svg +3 -0
  201. data/app/assets/icons/outline/outdent.svg +3 -0
  202. data/app/assets/icons/outline/palette.svg +3 -0
  203. data/app/assets/icons/outline/paper-clip.svg +3 -0
  204. data/app/assets/icons/outline/paper-plane.svg +3 -0
  205. data/app/assets/icons/outline/paragraph.svg +3 -0
  206. data/app/assets/icons/outline/pause.svg +3 -0
  207. data/app/assets/icons/outline/pen-nib.svg +3 -0
  208. data/app/assets/icons/outline/pen.svg +3 -0
  209. data/app/assets/icons/outline/phone.svg +3 -0
  210. data/app/assets/icons/outline/play.svg +3 -0
  211. data/app/assets/icons/outline/plus.svg +3 -0
  212. data/app/assets/icons/outline/printer.svg +3 -0
  213. data/app/assets/icons/outline/profile-card.svg +3 -0
  214. data/app/assets/icons/outline/question-circle.svg +3 -0
  215. data/app/assets/icons/outline/quote.svg +3 -0
  216. data/app/assets/icons/outline/receipt.svg +3 -0
  217. data/app/assets/icons/outline/rectangle-list.svg +3 -0
  218. data/app/assets/icons/outline/redo.svg +3 -0
  219. data/app/assets/icons/outline/refresh.svg +3 -0
  220. data/app/assets/icons/outline/reply-all.svg +3 -0
  221. data/app/assets/icons/outline/reply.svg +3 -0
  222. data/app/assets/icons/outline/restore-window.svg +3 -0
  223. data/app/assets/icons/outline/rocket.svg +3 -0
  224. data/app/assets/icons/outline/ruler-combined.svg +3 -0
  225. data/app/assets/icons/outline/sale-percent.svg +3 -0
  226. data/app/assets/icons/outline/scale-balanced.svg +3 -0
  227. data/app/assets/icons/outline/search.svg +3 -0
  228. data/app/assets/icons/outline/share-all.svg +3 -0
  229. data/app/assets/icons/outline/share-nodes.svg +3 -0
  230. data/app/assets/icons/outline/shield-check.svg +3 -0
  231. data/app/assets/icons/outline/shield.svg +3 -0
  232. data/app/assets/icons/outline/shopping-bag.svg +3 -0
  233. data/app/assets/icons/outline/shuffle.svg +3 -0
  234. data/app/assets/icons/outline/sort-horizontal.svg +3 -0
  235. data/app/assets/icons/outline/sort.svg +3 -0
  236. data/app/assets/icons/outline/star-half-stroke.svg +3 -0
  237. data/app/assets/icons/outline/star-half.svg +3 -0
  238. data/app/assets/icons/outline/star.svg +3 -0
  239. data/app/assets/icons/outline/store.svg +3 -0
  240. data/app/assets/icons/outline/sun.svg +3 -0
  241. data/app/assets/icons/outline/swatchbook.svg +3 -0
  242. data/app/assets/icons/outline/table-column.svg +3 -0
  243. data/app/assets/icons/outline/table-row.svg +3 -0
  244. data/app/assets/icons/outline/tablet.svg +3 -0
  245. data/app/assets/icons/outline/tag.svg +3 -0
  246. data/app/assets/icons/outline/terminal.svg +3 -0
  247. data/app/assets/icons/outline/text-size.svg +3 -0
  248. data/app/assets/icons/outline/text-slash.svg +3 -0
  249. data/app/assets/icons/outline/thumbs-down.svg +3 -0
  250. data/app/assets/icons/outline/thumbs-up.svg +3 -0
  251. data/app/assets/icons/outline/ticket.svg +3 -0
  252. data/app/assets/icons/outline/trash-bin.svg +3 -0
  253. data/app/assets/icons/outline/truck.svg +3 -0
  254. data/app/assets/icons/outline/undo.svg +3 -0
  255. data/app/assets/icons/outline/upload.svg +3 -0
  256. data/app/assets/icons/outline/user-add.svg +3 -0
  257. data/app/assets/icons/outline/user-circle.svg +3 -0
  258. data/app/assets/icons/outline/user-edit.svg +3 -0
  259. data/app/assets/icons/outline/user-headset.svg +3 -0
  260. data/app/assets/icons/outline/user-remove.svg +3 -0
  261. data/app/assets/icons/outline/user-settings.svg +3 -0
  262. data/app/assets/icons/outline/user.svg +3 -0
  263. data/app/assets/icons/outline/users-group.svg +3 -0
  264. data/app/assets/icons/outline/users.svg +3 -0
  265. data/app/assets/icons/outline/video-camera.svg +3 -0
  266. data/app/assets/icons/outline/volume-down.svg +3 -0
  267. data/app/assets/icons/outline/volume-up.svg +3 -0
  268. data/app/assets/icons/outline/wallet.svg +3 -0
  269. data/app/assets/icons/outline/wand-magic-sparkles.svg +3 -0
  270. data/app/assets/icons/outline/window.svg +3 -0
  271. data/app/assets/icons/outline/zoom-in.svg +3 -0
  272. data/app/assets/icons/outline/zoom-out.svg +3 -0
  273. data/app/assets/icons/solid/X.svg +3 -0
  274. data/app/assets/icons/solid/address-book.svg +3 -0
  275. data/app/assets/icons/solid/adjustments-horizontal.svg +3 -0
  276. data/app/assets/icons/solid/adjustments-vertical.svg +3 -0
  277. data/app/assets/icons/solid/annotation.svg +3 -0
  278. data/app/assets/icons/solid/apple.svg +3 -0
  279. data/app/assets/icons/solid/archive-arrow-down.svg +3 -0
  280. data/app/assets/icons/solid/archive.svg +4 -0
  281. data/app/assets/icons/solid/arrow-right-alt.svg +3 -0
  282. data/app/assets/icons/solid/arrow-up-right-from-square.svg +4 -0
  283. data/app/assets/icons/solid/backward-step.svg +3 -0
  284. data/app/assets/icons/solid/badge-check.svg +3 -0
  285. data/app/assets/icons/solid/bell-active-alt.svg +3 -0
  286. data/app/assets/icons/solid/bell-active.svg +5 -0
  287. data/app/assets/icons/solid/bell-ring.svg +3 -0
  288. data/app/assets/icons/solid/bell.svg +3 -0
  289. data/app/assets/icons/solid/blender-phone.svg +3 -0
  290. data/app/assets/icons/solid/book-open.svg +3 -0
  291. data/app/assets/icons/solid/book.svg +3 -0
  292. data/app/assets/icons/solid/bookmark.svg +3 -0
  293. data/app/assets/icons/solid/brain.svg +3 -0
  294. data/app/assets/icons/solid/briefcase.svg +3 -0
  295. data/app/assets/icons/solid/bug.svg +3 -0
  296. data/app/assets/icons/solid/building.svg +3 -0
  297. data/app/assets/icons/solid/bullhorn.svg +3 -0
  298. data/app/assets/icons/solid/calendar-edit.svg +4 -0
  299. data/app/assets/icons/solid/calendar-month.svg +3 -0
  300. data/app/assets/icons/solid/calendar-plus.svg +3 -0
  301. data/app/assets/icons/solid/calendar-week.svg +3 -0
  302. data/app/assets/icons/solid/camera-photo.svg +3 -0
  303. data/app/assets/icons/solid/caption.svg +3 -0
  304. data/app/assets/icons/solid/caret-down.svg +3 -0
  305. data/app/assets/icons/solid/caret-left.svg +3 -0
  306. data/app/assets/icons/solid/caret-right.svg +3 -0
  307. data/app/assets/icons/solid/caret-sort.svg +3 -0
  308. data/app/assets/icons/solid/caret-up.svg +3 -0
  309. data/app/assets/icons/solid/cart-plus-alt.svg +4 -0
  310. data/app/assets/icons/solid/cart-plus.svg +4 -0
  311. data/app/assets/icons/solid/cart.svg +3 -0
  312. data/app/assets/icons/solid/cash.svg +5 -0
  313. data/app/assets/icons/solid/chart-mixed-dollar.svg +3 -0
  314. data/app/assets/icons/solid/chart-pie.svg +4 -0
  315. data/app/assets/icons/solid/check-circle.svg +3 -0
  316. data/app/assets/icons/solid/check-plus-circle.svg +4 -0
  317. data/app/assets/icons/solid/circle-pause.svg +3 -0
  318. data/app/assets/icons/solid/circle-plus.svg +3 -0
  319. data/app/assets/icons/solid/clapperboard-play.svg +3 -0
  320. data/app/assets/icons/solid/clipboard-check.svg +3 -0
  321. data/app/assets/icons/solid/clipboard-list.svg +3 -0
  322. data/app/assets/icons/solid/clipboard.svg +3 -0
  323. data/app/assets/icons/solid/clock.svg +3 -0
  324. data/app/assets/icons/solid/close-circle.svg +3 -0
  325. data/app/assets/icons/solid/cloud-arrow-up.svg +4 -0
  326. data/app/assets/icons/solid/code-branch.svg +3 -0
  327. data/app/assets/icons/solid/code-fork.svg +3 -0
  328. data/app/assets/icons/solid/code-merge.svg +3 -0
  329. data/app/assets/icons/solid/code-pull-request.svg +3 -0
  330. data/app/assets/icons/solid/cog.svg +3 -0
  331. data/app/assets/icons/solid/column.svg +3 -0
  332. data/app/assets/icons/solid/computer-speaker.svg +4 -0
  333. data/app/assets/icons/solid/credit-card.svg +4 -0
  334. data/app/assets/icons/solid/css.svg +3 -0
  335. data/app/assets/icons/solid/database.svg +3 -0
  336. data/app/assets/icons/solid/desktop-pc.svg +3 -0
  337. data/app/assets/icons/solid/discord.svg +3 -0
  338. data/app/assets/icons/solid/download.svg +4 -0
  339. data/app/assets/icons/solid/draw-square.svg +4 -0
  340. data/app/assets/icons/solid/dribbble.svg +3 -0
  341. data/app/assets/icons/solid/dropbox.svg +4 -0
  342. data/app/assets/icons/solid/edit.svg +4 -0
  343. data/app/assets/icons/solid/envelope-open.svg +4 -0
  344. data/app/assets/icons/solid/envelope.svg +4 -0
  345. data/app/assets/icons/solid/exclamation-circle.svg +3 -0
  346. data/app/assets/icons/solid/eye-slash.svg +5 -0
  347. data/app/assets/icons/solid/eye.svg +3 -0
  348. data/app/assets/icons/solid/face-explode.svg +3 -0
  349. data/app/assets/icons/solid/face-grin-stars.svg +3 -0
  350. data/app/assets/icons/solid/face-grin.svg +3 -0
  351. data/app/assets/icons/solid/face-laugh.svg +3 -0
  352. data/app/assets/icons/solid/facebook.svg +3 -0
  353. data/app/assets/icons/solid/file-chart-bar.svg +3 -0
  354. data/app/assets/icons/solid/file-check.svg +4 -0
  355. data/app/assets/icons/solid/file-circle-plus.svg +4 -0
  356. data/app/assets/icons/solid/file-clone.svg +4 -0
  357. data/app/assets/icons/solid/file-code.svg +3 -0
  358. data/app/assets/icons/solid/file-copy-alt.svg +4 -0
  359. data/app/assets/icons/solid/file-copy.svg +4 -0
  360. data/app/assets/icons/solid/file-csv.svg +3 -0
  361. data/app/assets/icons/solid/file-export.svg +3 -0
  362. data/app/assets/icons/solid/file-image.svg +3 -0
  363. data/app/assets/icons/solid/file-import.svg +3 -0
  364. data/app/assets/icons/solid/file-invoice.svg +3 -0
  365. data/app/assets/icons/solid/file-lines.svg +3 -0
  366. data/app/assets/icons/solid/file-music.svg +3 -0
  367. data/app/assets/icons/solid/file-paste.svg +4 -0
  368. data/app/assets/icons/solid/file-pdf.svg +3 -0
  369. data/app/assets/icons/solid/file-pen.svg +4 -0
  370. data/app/assets/icons/solid/file-ppt.svg +3 -0
  371. data/app/assets/icons/solid/file-search.svg +3 -0
  372. data/app/assets/icons/solid/file-shield.svg +4 -0
  373. data/app/assets/icons/solid/file-video.svg +3 -0
  374. data/app/assets/icons/solid/file-word.svg +3 -0
  375. data/app/assets/icons/solid/file-zip.svg +3 -0
  376. data/app/assets/icons/solid/file.svg +3 -0
  377. data/app/assets/icons/solid/filter.svg +3 -0
  378. data/app/assets/icons/solid/fire.svg +3 -0
  379. data/app/assets/icons/solid/flag.svg +3 -0
  380. data/app/assets/icons/solid/flowbite.svg +6 -0
  381. data/app/assets/icons/solid/folder-arrow-right.svg +3 -0
  382. data/app/assets/icons/solid/folder-duplicate.svg +4 -0
  383. data/app/assets/icons/solid/folder-open.svg +3 -0
  384. data/app/assets/icons/solid/folder-plus.svg +3 -0
  385. data/app/assets/icons/solid/folder.svg +3 -0
  386. data/app/assets/icons/solid/forward-step.svg +3 -0
  387. data/app/assets/icons/solid/forward.svg +3 -0
  388. data/app/assets/icons/solid/gift-box.svg +3 -0
  389. data/app/assets/icons/solid/github.svg +3 -0
  390. data/app/assets/icons/solid/globe.svg +3 -0
  391. data/app/assets/icons/solid/google.svg +3 -0
  392. data/app/assets/icons/solid/grid-plus.svg +3 -0
  393. data/app/assets/icons/solid/grid.svg +3 -0
  394. data/app/assets/icons/solid/headphones.svg +3 -0
  395. data/app/assets/icons/solid/heart.svg +3 -0
  396. data/app/assets/icons/solid/home.svg +3 -0
  397. data/app/assets/icons/solid/hourglass.svg +3 -0
  398. data/app/assets/icons/solid/html.svg +3 -0
  399. data/app/assets/icons/solid/image.svg +4 -0
  400. data/app/assets/icons/solid/inbox-full.svg +3 -0
  401. data/app/assets/icons/solid/inbox.svg +3 -0
  402. data/app/assets/icons/solid/indent.svg +3 -0
  403. data/app/assets/icons/solid/info-circle.svg +3 -0
  404. data/app/assets/icons/solid/keyboard.svg +3 -0
  405. data/app/assets/icons/solid/label.svg +3 -0
  406. data/app/assets/icons/solid/landmark.svg +4 -0
  407. data/app/assets/icons/solid/layers.svg +4 -0
  408. data/app/assets/icons/solid/life-saver.svg +3 -0
  409. data/app/assets/icons/solid/lightbulb.svg +3 -0
  410. data/app/assets/icons/solid/linkedin.svg +4 -0
  411. data/app/assets/icons/solid/list-music.svg +3 -0
  412. data/app/assets/icons/solid/lock-open.svg +3 -0
  413. data/app/assets/icons/solid/lock-time.svg +4 -0
  414. data/app/assets/icons/solid/lock.svg +3 -0
  415. data/app/assets/icons/solid/mail-box.svg +3 -0
  416. data/app/assets/icons/solid/map-pin-alt.svg +3 -0
  417. data/app/assets/icons/solid/map-pin.svg +3 -0
  418. data/app/assets/icons/solid/message-caption.svg +3 -0
  419. data/app/assets/icons/solid/message-dots.svg +3 -0
  420. data/app/assets/icons/solid/messages.svg +4 -0
  421. data/app/assets/icons/solid/microphone.svg +4 -0
  422. data/app/assets/icons/solid/mobile-phone.svg +3 -0
  423. data/app/assets/icons/solid/moon.svg +3 -0
  424. data/app/assets/icons/solid/newspaper.svg +3 -0
  425. data/app/assets/icons/solid/npm.svg +3 -0
  426. data/app/assets/icons/solid/outdent.svg +3 -0
  427. data/app/assets/icons/solid/palette.svg +3 -0
  428. data/app/assets/icons/solid/paper-plane.svg +3 -0
  429. data/app/assets/icons/solid/paragraph.svg +3 -0
  430. data/app/assets/icons/solid/pause.svg +3 -0
  431. data/app/assets/icons/solid/pen-nib.svg +3 -0
  432. data/app/assets/icons/solid/pen.svg +3 -0
  433. data/app/assets/icons/solid/phone.svg +3 -0
  434. data/app/assets/icons/solid/play.svg +3 -0
  435. data/app/assets/icons/solid/printer.svg +3 -0
  436. data/app/assets/icons/solid/profile-card.svg +3 -0
  437. data/app/assets/icons/solid/question-circle.svg +3 -0
  438. data/app/assets/icons/solid/quote.svg +3 -0
  439. data/app/assets/icons/solid/react.svg +4 -0
  440. data/app/assets/icons/solid/receipt.svg +3 -0
  441. data/app/assets/icons/solid/rectangle-list.svg +3 -0
  442. data/app/assets/icons/solid/reply-all.svg +3 -0
  443. data/app/assets/icons/solid/reply.svg +3 -0
  444. data/app/assets/icons/solid/rocket.svg +3 -0
  445. data/app/assets/icons/solid/sale-percent.svg +3 -0
  446. data/app/assets/icons/solid/scale-balanced.svg +3 -0
  447. data/app/assets/icons/solid/search.svg +4 -0
  448. data/app/assets/icons/solid/share-all.svg +3 -0
  449. data/app/assets/icons/solid/share-nodes.svg +3 -0
  450. data/app/assets/icons/solid/shield-check.svg +3 -0
  451. data/app/assets/icons/solid/shield.svg +3 -0
  452. data/app/assets/icons/solid/shopping-bag.svg +3 -0
  453. data/app/assets/icons/solid/stackoverflow.svg +4 -0
  454. data/app/assets/icons/solid/star-half-stroke.svg +3 -0
  455. data/app/assets/icons/solid/star-half.svg +3 -0
  456. data/app/assets/icons/solid/star.svg +3 -0
  457. data/app/assets/icons/solid/store.svg +3 -0
  458. data/app/assets/icons/solid/sun.svg +3 -0
  459. data/app/assets/icons/solid/swatchbook.svg +3 -0
  460. data/app/assets/icons/solid/table-column.svg +3 -0
  461. data/app/assets/icons/solid/table-row.svg +3 -0
  462. data/app/assets/icons/solid/tablet.svg +3 -0
  463. data/app/assets/icons/solid/tag.svg +3 -0
  464. data/app/assets/icons/solid/tailwind.svg +3 -0
  465. data/app/assets/icons/solid/terminal.svg +3 -0
  466. data/app/assets/icons/solid/thumbs-down.svg +3 -0
  467. data/app/assets/icons/solid/thumbs-up.svg +3 -0
  468. data/app/assets/icons/solid/ticket.svg +3 -0
  469. data/app/assets/icons/solid/trash-bin.svg +3 -0
  470. data/app/assets/icons/solid/truck.svg +3 -0
  471. data/app/assets/icons/solid/twitter.svg +3 -0
  472. data/app/assets/icons/solid/upload.svg +3 -0
  473. data/app/assets/icons/solid/user-add.svg +3 -0
  474. data/app/assets/icons/solid/user-circle.svg +3 -0
  475. data/app/assets/icons/solid/user-edit.svg +3 -0
  476. data/app/assets/icons/solid/user-headset.svg +3 -0
  477. data/app/assets/icons/solid/user-remove.svg +3 -0
  478. data/app/assets/icons/solid/user-settings.svg +3 -0
  479. data/app/assets/icons/solid/user.svg +3 -0
  480. data/app/assets/icons/solid/users-group.svg +3 -0
  481. data/app/assets/icons/solid/users.svg +3 -0
  482. data/app/assets/icons/solid/video-camera.svg +3 -0
  483. data/app/assets/icons/solid/volume-down.svg +4 -0
  484. data/app/assets/icons/solid/volume-up.svg +5 -0
  485. data/app/assets/icons/solid/vue.svg +3 -0
  486. data/app/assets/icons/solid/wallet.svg +4 -0
  487. data/app/assets/icons/solid/wand-magic-sparkles.svg +4 -0
  488. data/app/assets/icons/solid/window-restore.svg +4 -0
  489. data/app/assets/icons/solid/window.svg +3 -0
  490. data/app/assets/icons/solid/youtube.svg +3 -0
  491. data/app/assets/icons/solid/zoom-in.svg +3 -0
  492. data/app/assets/icons/solid/zoom-out.svg +3 -0
  493. data/app/assets/js/controllers/application.js +6 -0
  494. data/app/assets/js/controllers/dropdown_controller.js +12 -0
  495. data/app/assets/js/controllers/index.js +21 -0
  496. data/app/assets/js/plutonium.js +2 -0
  497. data/app/assets/js/turbo/index.js +5 -0
  498. data/app/assets/js/turbo/turbo_actions.js +8 -0
  499. data/app/assets/js/turbo/turbo_debug.js +30 -0
  500. data/app/assets/js/turbo/turbo_frame_monkey_patch.js +23 -0
  501. data/app/views/{resource → application}/_color_modes.html.erb +3 -1
  502. data/app/views/application/_flash.html.erb +1 -0
  503. data/app/views/application/_resource_header.html.erb +721 -0
  504. data/app/views/application/_resource_sidebar.html.erb +12 -0
  505. data/app/views/components/action_button/action_button_component.html.erb +7 -0
  506. data/app/views/components/action_button/action_button_component.rb +15 -0
  507. data/app/views/components/base.rb +50 -0
  508. data/app/views/components/block/block_component.html.erb +3 -0
  509. data/app/views/components/block/block_component.rb +40 -0
  510. data/app/views/components/breadcrumbs/breadcrumbs_component.html.erb +96 -0
  511. data/app/views/components/breadcrumbs/breadcrumbs_component.rb +9 -0
  512. data/app/views/components/button/button_component.html.erb +11 -0
  513. data/app/views/components/button/button_component.rb +123 -0
  514. data/app/views/components/dyna_frame_content/dyna_frame_content_component.html.erb +7 -0
  515. data/app/views/components/dyna_frame_content/dyna_frame_content_component.rb +6 -0
  516. data/app/views/components/dyna_frame_host/dyna_frame_host_component.html.erb +4 -0
  517. data/app/views/components/dyna_frame_host/dyna_frame_host_component.rb +11 -0
  518. data/app/views/components/empty_card/empty_card_component.html.erb +6 -0
  519. data/app/views/components/empty_card/empty_card_component.rb +7 -0
  520. data/app/views/components/form/form_builder.rb +71 -0
  521. data/app/views/components/form/form_component.html.erb +77 -0
  522. data/app/views/components/form/form_component.rb +23 -0
  523. data/app/views/components/form/form_controller.js +13 -0
  524. data/app/views/components/header/header_component.html.erb +1 -0
  525. data/app/views/components/header/header_component.rb +7 -0
  526. data/app/views/components/interactive_action_form/interactive_action_form_component.html.erb +41 -0
  527. data/app/views/components/interactive_action_form/interactive_action_form_component.rb +8 -0
  528. data/app/views/components/interactive_action_form/interactive_action_form_controller.js +13 -0
  529. data/app/views/components/pagination/pagination_component.html.erb +6 -0
  530. data/app/views/components/pagination/pagination_component.rb +91 -0
  531. data/app/views/components/panel/panel_component.html.erb +10 -0
  532. data/app/views/components/panel/panel_component.rb +11 -0
  533. data/app/views/components/sidebar/sidebar_component.html.erb +154 -0
  534. data/app/views/components/sidebar/sidebar_component.rb +15 -0
  535. data/app/views/components/sidebar_menu/sidebar_menu_component.html.erb +3 -0
  536. data/app/views/components/sidebar_menu/sidebar_menu_component.rb +13 -0
  537. data/app/views/components/sidebar_menu_item/sidebar_menu_item_component.html.erb +72 -0
  538. data/app/views/components/sidebar_menu_item/sidebar_menu_item_component.rb +23 -0
  539. data/app/views/components/skeleton/table/table_component.html.erb +18 -0
  540. data/app/views/components/skeleton/table/table_component.rb +6 -0
  541. data/app/views/components/tab_bar/tab_bar_component.html.erb +11 -0
  542. data/app/views/components/tab_bar/tab_bar_component.rb +9 -0
  543. data/app/views/components/tab_bar/tab_bar_controller.js +8 -0
  544. data/app/views/components/table/table_component.html.erb +92 -0
  545. data/app/views/components/table/table_component.rb +63 -0
  546. data/app/views/components/table/table_controller.js +8 -0
  547. data/app/views/components/table_search_input/table_search_input_component.html.erb +42 -0
  548. data/app/views/components/table_search_input/table_search_input_component.rb +10 -0
  549. data/app/views/components/table_search_input/table_search_input_controller.js +8 -0
  550. data/app/views/components/table_toolbar/table_toolbar_component.html.erb +7 -0
  551. data/app/views/components/table_toolbar/table_toolbar_component.rb +9 -0
  552. data/app/views/components/table_toolbar/table_toolbar_controller.js +8 -0
  553. data/app/views/components/toolbar/toolbar_component.html.erb +67 -0
  554. data/app/views/components/toolbar/toolbar_component.rb +18 -0
  555. data/app/views/components/toolbar/toolbar_controller.js +8 -0
  556. data/app/views/layouts/resource.html copy.erb +51 -0
  557. data/app/views/layouts/resource.html.erb +32 -25
  558. data/app/views/layouts/rodauth.html.erb +32 -0
  559. data/app/views/resource/_interactive_resource_action_form.html.erb +4 -26
  560. data/app/views/resource/_resource_details.html.erb +26 -0
  561. data/app/views/resource/{_resource.rabl → _resource_details.rabl} +1 -1
  562. data/app/views/resource/_resource_form.html.erb +5 -0
  563. data/app/views/resource/_resource_table.html.erb +15 -0
  564. data/app/views/resource/edit.html.erb +4 -9
  565. data/app/views/resource/index.html.erb +4 -18
  566. data/app/views/resource/interactive_resource_collection_action.html.erb +3 -10
  567. data/app/views/resource/interactive_resource_record_action.html.erb +3 -10
  568. data/app/views/resource/interactive_resource_recordless_action.html.erb +3 -10
  569. data/app/views/resource/new.html.erb +3 -10
  570. data/app/views/resource/show.html.erb +4 -13
  571. data/app/views/resource/show.rabl +1 -1
  572. data/brakeman.ignore +5 -5
  573. data/build.js +12 -0
  574. data/config/initializers/hotwire_turbo_monkey_patches.rb +12 -0
  575. data/{lib/plutonium → config}/initializers/pagy.rb +0 -1
  576. data/config/initializers/simple_form.rb +54 -0
  577. data/lib/active_model/validations/array_validator.rb +1 -1
  578. data/lib/active_model/validations/attached_validator.rb +1 -1
  579. data/lib/active_model/validations/url_validator.rb +1 -1
  580. data/lib/generators/pu/core/install/install_generator.rb +1 -1
  581. data/lib/generators/pu/core/install/templates/app/controllers/resource_controller.rb.tt +2 -1
  582. data/lib/generators/pu/core/install/templates/app/interactions/resource_interaction.rb.tt +1 -1
  583. data/lib/generators/pu/core/install/templates/app/models/resource_record.rb.tt +1 -1
  584. data/lib/generators/pu/core/install/templates/app/policies/resource_policy.rb.tt +1 -1
  585. data/lib/generators/pu/core/install/templates/app/presenters/resource_presenter.rb.tt +1 -1
  586. data/lib/generators/pu/core/install/templates/app/query_objects/resource_query_object.rb.tt +2 -0
  587. data/lib/generators/pu/core/install/templates/config/packages.rb +1 -3
  588. data/lib/generators/pu/gem/pagy/pagy_generator.rb +1 -1
  589. data/lib/generators/pu/gem/rabl/rabl_generator.rb +1 -1
  590. data/lib/generators/pu/gem/simple_form/simple_form_generator.rb +1 -1
  591. data/lib/generators/pu/gen/component/component_generator.rb +87 -0
  592. data/lib/generators/pu/gen/component/templates/component.html.erb.tt +3 -0
  593. data/lib/generators/pu/gen/component/templates/component.rb.tt +9 -0
  594. data/lib/generators/pu/gen/component/templates/controller.js.tt +8 -0
  595. data/lib/generators/pu/lib/plutonium_generators/concerns/actions.rb +353 -0
  596. data/lib/generators/pu/lib/plutonium_generators/concerns/config.rb +39 -0
  597. data/lib/generators/pu/lib/plutonium_generators/concerns/logger.rb +36 -0
  598. data/lib/generators/pu/lib/plutonium_generators/concerns/serializer.rb +39 -0
  599. data/lib/generators/pu/lib/plutonium_generators/generator.rb +86 -0
  600. data/lib/generators/pu/lib/plutonium_generators/installer.rb +205 -0
  601. data/lib/generators/pu/lib/plutonium_generators/model_generator.rb +151 -0
  602. data/lib/generators/pu/lib/plutonium_generators.rb +7 -0
  603. data/lib/generators/pu/pkg/app/app_generator.rb +14 -4
  604. data/lib/generators/pu/pkg/app/templates/app/controllers/app_controller.rb.tt +5 -0
  605. data/lib/generators/pu/pkg/app/templates/app/controllers/dashboard_controller.rb.tt +6 -0
  606. data/lib/generators/pu/pkg/app/templates/app/controllers/{resource_controller.rb.tt → package_controller.rb.tt} +3 -3
  607. data/lib/generators/pu/pkg/app/templates/app/{interactions/resource_interaction.rb.tt → query_objects/resource_query_object.rb.tt} +1 -1
  608. data/lib/generators/pu/pkg/app/templates/app/views/package/dashboard/index.html.erb +23 -0
  609. data/lib/generators/pu/pkg/app/templates/config/routes.rb.tt +5 -3
  610. data/lib/generators/pu/pkg/feature/feature_generator.rb +4 -4
  611. data/lib/generators/pu/pkg/feature/templates/app/query_objects/resource_query_object.rb.tt +4 -0
  612. data/lib/generators/pu/{resource → res}/conn/conn_generator.rb +3 -2
  613. data/lib/generators/pu/res/conn/templates/.keep +0 -0
  614. data/lib/generators/pu/{resource → res}/conn/templates/app/controllers/resource_controller.rb.tt +1 -1
  615. data/lib/generators/pu/res/conn/templates/app/query_objects/resource_query_object.rb.tt +3 -0
  616. data/lib/generators/pu/res/model/model_generator.rb +36 -0
  617. data/lib/generators/pu/{resource → res}/model/templates/model.rb.tt +1 -1
  618. data/lib/generators/pu/res/scaffold/scaffold_generator.rb +43 -0
  619. data/lib/generators/pu/res/scaffold/templates/.keep +0 -0
  620. data/lib/generators/pu/{resource/model → res/scaffold}/templates/policy.rb.tt +2 -2
  621. data/lib/generators/pu/{resource/model → res/scaffold}/templates/presenter.rb.tt +0 -5
  622. data/lib/generators/pu/res/scaffold/templates/query_object.rb.tt +17 -0
  623. data/lib/generators/pu/rodauth/account_generator.rb +6 -17
  624. data/lib/generators/pu/rodauth/concerns/account_selector.rb +5 -1
  625. data/lib/generators/pu/rodauth/migration/active_record/base.erb +0 -4
  626. data/lib/generators/pu/rodauth/migration_generator.rb +2 -4
  627. data/lib/generators/pu/rodauth/templates/app/controllers/plugin_controller.rb.tt +11 -1
  628. data/lib/generators/pu/rodauth/templates/app/controllers/rodauth_controller.rb.tt +2 -1
  629. data/lib/generators/pu/rodauth/templates/app/mailers/account_mailer.rb.tt +1 -1
  630. data/lib/generators/pu/rodauth/templates/app/misc/account_rodauth_plugin.rb.tt +26 -11
  631. data/lib/generators/pu/rodauth/templates/app/misc/rodauth_plugin.rb.tt +1 -1
  632. data/lib/generators/pu/rodauth/templates/app/models/account.rb.tt +4 -1
  633. data/lib/generators/pu/rodauth/views_generator.rb +1 -14
  634. data/lib/plutonium/application/controller.rb +43 -0
  635. data/lib/plutonium/auth/{public_access.rb → public.rb} +1 -1
  636. data/lib/plutonium/auth.rb +0 -5
  637. data/lib/plutonium/builders/menus/sidebar_menu.rb.bk +26 -0
  638. data/lib/plutonium/builders/menus/sidebar_menu_item.rb.bk +28 -0
  639. data/lib/plutonium/component_registry.rb +19 -0
  640. data/lib/plutonium/config.rb +17 -2
  641. data/lib/plutonium/core/action.rb +9 -6
  642. data/lib/plutonium/core/actions/collection.rb +4 -0
  643. data/lib/plutonium/core/actions/destroy_action.rb +5 -3
  644. data/lib/plutonium/core/actions/edit_action.rb +5 -3
  645. data/lib/plutonium/core/actions/interactive_action.rb +1 -1
  646. data/lib/plutonium/core/actions/new_action.rb +5 -3
  647. data/lib/plutonium/core/actions/show_action.rb +5 -3
  648. data/lib/plutonium/core/autodiscovery/input_discoverer.rb +0 -2
  649. data/lib/plutonium/core/autodiscovery/renderer_discoverer.rb +0 -2
  650. data/lib/plutonium/core/controllers/authorizable.rb +3 -5
  651. data/lib/plutonium/core/controllers/base.rb +86 -0
  652. data/lib/plutonium/core/controllers/bootable.rb +5 -24
  653. data/lib/plutonium/core/controllers/crud_actions.rb +43 -8
  654. data/lib/plutonium/core/controllers/entity_scoping.rb +16 -5
  655. data/lib/plutonium/core/controllers/interactive_actions.rb +9 -7
  656. data/lib/plutonium/core/controllers/presentable.rb +11 -11
  657. data/lib/plutonium/core/controllers/queryable.rb +26 -0
  658. data/lib/plutonium/core/definers/input_definer.rb +47 -7
  659. data/lib/plutonium/core/definers/renderer_definer.rb +5 -3
  660. data/lib/plutonium/core/fields/inputs/base.rb +3 -3
  661. data/lib/plutonium/core/fields/inputs/date_time_input.rb +13 -0
  662. data/lib/plutonium/core/fields/inputs/factory.rb +13 -4
  663. data/lib/plutonium/core/fields/inputs/noop_input.rb +1 -1
  664. data/lib/plutonium/core/fields/inputs/phone_input.rb +22 -0
  665. data/lib/plutonium/core/fields/inputs/polymorphic_belongs_to_association_input.rb +47 -0
  666. data/lib/plutonium/core/fields/inputs/simple_form_association_input.rb +3 -2
  667. data/lib/plutonium/core/fields/inputs/simple_form_input.rb +4 -1
  668. data/lib/plutonium/core/fields/renderers/association_renderer.rb +4 -7
  669. data/lib/plutonium/core/ui/collection.rb +12 -8
  670. data/lib/plutonium/core/ui/detail.rb +8 -5
  671. data/lib/plutonium/core/ui/form.rb +6 -5
  672. data/lib/plutonium/helpers/action_buttons_helper.rb +23 -23
  673. data/lib/plutonium/helpers/application_helper.rb +0 -4
  674. data/lib/plutonium/helpers/attachment_helper.rb +1 -1
  675. data/lib/plutonium/helpers/component_helper.rb +14 -0
  676. data/lib/plutonium/helpers/display_helper.rb +6 -6
  677. data/lib/plutonium/helpers/form_helper.rb +29 -10
  678. data/lib/plutonium/helpers/table_helper.rb +35 -0
  679. data/lib/plutonium/helpers/turbo_helper.rb +2 -2
  680. data/lib/plutonium/helpers.rb +6 -19
  681. data/lib/plutonium/icons.rb +25 -0
  682. data/lib/plutonium/lib/after_commit.rb +2 -2
  683. data/lib/plutonium/{packaging → pkg}/app.rb +8 -6
  684. data/lib/plutonium/{packaging/package.rb → pkg/base.rb} +6 -2
  685. data/lib/plutonium/{packaging → pkg}/feature.rb +2 -2
  686. data/lib/plutonium/preserved__/{field.rb → field.rb.bk} +1 -1
  687. data/lib/plutonium/preserved__/{input.rb → input.rb.bk} +1 -1
  688. data/lib/plutonium/railtie.rb +17 -3
  689. data/lib/plutonium/reactor/core.rb +34 -19
  690. data/lib/plutonium/refinements/parameter_refinements.rb +2 -0
  691. data/lib/plutonium/resource/context.rb +5 -0
  692. data/lib/plutonium/resource/controller.rb +138 -0
  693. data/lib/plutonium/resource/interaction.rb +8 -0
  694. data/lib/plutonium/{reactor/resource_policy.rb → resource/policy.rb} +10 -3
  695. data/lib/plutonium/{reactor → resource}/policy_context.rb +1 -1
  696. data/lib/plutonium/{reactor/resource_presenter.rb → resource/presenter.rb} +2 -6
  697. data/lib/plutonium/resource/query_object.rb +219 -0
  698. data/lib/plutonium/{reactor/resource_record.rb → resource/record.rb} +55 -35
  699. data/lib/plutonium/rodauth/controller_methods.rb +12 -0
  700. data/lib/plutonium/{simple_form_components → simple_form}/attachment_component.rb +2 -0
  701. data/lib/plutonium/{simple_form_components → simple_form}/input_group_component.rb +2 -0
  702. data/lib/plutonium/version.rb +1 -1
  703. data/lib/plutonium.rb +33 -16
  704. data/package-lock.json +2523 -0
  705. data/package.json +21 -0
  706. data/postcss.config.js +11 -0
  707. data/public/plutonium-assets/application.css +1617 -811
  708. data/public/plutonium-assets/application.js +299 -300
  709. data/tailwind.config.js +91 -0
  710. metadata +754 -176
  711. data/app/views/resource/_details.html.erb +0 -6
  712. data/app/views/resource/_empty_card.html.erb +0 -12
  713. data/app/views/resource/_form.html.erb +0 -32
  714. data/app/views/resource/_header.html.erb +0 -8
  715. data/app/views/resource/_messages.html.erb +0 -1
  716. data/app/views/resource/_pagination.html.erb +0 -6
  717. data/app/views/resource/_pagy_pagination.html.erb +0 -15
  718. data/app/views/resource/_resource.html.erb +0 -1
  719. data/app/views/resource/_sidebar.html.erb +0 -11
  720. data/app/views/resource/_sidebar_menu.html.erb +0 -1
  721. data/app/views/resource/_table.html.erb +0 -78
  722. data/app/views/resource/_table_actions.html.erb +0 -15
  723. data/app/views/resource/_toolbar.html.erb +0 -22
  724. data/app/views/resource/_toolbar_actions.html.erb +0 -16
  725. data/app/views/resource/_toolbar_breadcrumbs.html.erb +0 -32
  726. data/app/views/resource/_toolbar_search_input.erb +0 -27
  727. data/lib/generators/pu/resource/model/model_generator.rb +0 -163
  728. data/lib/generators/pu/resource/scaffold/scaffold_generator.rb +0 -219
  729. data/lib/generators/pu/resource/scaffold/templates/app/controllers/admin_resources/resource_controller.rb.tt +0 -7
  730. data/lib/generators/pu/resource/scaffold/templates/app/controllers/entity_resources/resource_controller.rb.tt +0 -7
  731. data/lib/generators/pu/resource/scaffold/templates/app/policies/resources/admin/resource_policy.rb.tt +0 -22
  732. data/lib/generators/pu/resource/scaffold/templates/app/policies/resources/entity/resource_policy.rb.tt +0 -22
  733. data/lib/generators/pu/resource/scaffold/templates/app/policies/resources/resource_policy.rb.tt +0 -13
  734. data/lib/generators/pu/resource/scaffold/templates/app/resources/resource/admin_presenter.rb.tt +0 -7
  735. data/lib/generators/pu/resource/scaffold/templates/app/resources/resource/entity_presenter.rb.tt +0 -7
  736. data/lib/generators/pu/resource/scaffold/templates/app/resources/resource/presenter.rb.tt +0 -23
  737. data/lib/generators/pu/resource/scaffold/templates/app/views/resources/resource/_resource.html.erb.tt +0 -3
  738. data/lib/generators/pu/resource/scaffold/templates/app/views/resources/resource/_resource.rabl +0 -7
  739. data/lib/generators/pu/rodauth/templates/app/views/rodauth/_email_auth_request_form.html.erb +0 -7
  740. data/lib/generators/pu/rodauth/templates/app/views/rodauth/_login_form.html.erb +0 -26
  741. data/lib/generators/pu/rodauth/templates/app/views/rodauth/_login_form_footer.html.erb +0 -9
  742. data/lib/generators/pu/rodauth/templates/app/views/rodauth/add_recovery_codes.html.erb +0 -6
  743. data/lib/generators/pu/rodauth/templates/app/views/rodauth/change_login.html.erb +0 -27
  744. data/lib/generators/pu/rodauth/templates/app/views/rodauth/change_password.html.erb +0 -27
  745. data/lib/generators/pu/rodauth/templates/app/views/rodauth/close_account.html.erb +0 -13
  746. data/lib/generators/pu/rodauth/templates/app/views/rodauth/confirm_password.html.erb +0 -11
  747. data/lib/generators/pu/rodauth/templates/app/views/rodauth/create_account.html.erb +0 -35
  748. data/lib/generators/pu/rodauth/templates/app/views/rodauth/email_auth.html.erb +0 -5
  749. data/lib/generators/pu/rodauth/templates/app/views/rodauth/login.html.erb +0 -4
  750. data/lib/generators/pu/rodauth/templates/app/views/rodauth/logout.html.erb +0 -14
  751. data/lib/generators/pu/rodauth/templates/app/views/rodauth/multi_phase_login.html.erb +0 -3
  752. data/lib/generators/pu/rodauth/templates/app/views/rodauth/otp_auth.html.erb +0 -15
  753. data/lib/generators/pu/rodauth/templates/app/views/rodauth/otp_disable.html.erb +0 -13
  754. data/lib/generators/pu/rodauth/templates/app/views/rodauth/otp_setup.html.erb +0 -41
  755. data/lib/generators/pu/rodauth/templates/app/views/rodauth/recovery_auth.html.erb +0 -11
  756. data/lib/generators/pu/rodauth/templates/app/views/rodauth/recovery_codes.html.erb +0 -13
  757. data/lib/generators/pu/rodauth/templates/app/views/rodauth/remember.html.erb +0 -22
  758. data/lib/generators/pu/rodauth/templates/app/views/rodauth/reset_password.html.erb +0 -19
  759. data/lib/generators/pu/rodauth/templates/app/views/rodauth/reset_password_request.html.erb +0 -17
  760. data/lib/generators/pu/rodauth/templates/app/views/rodauth/sms_auth.html.erb +0 -15
  761. data/lib/generators/pu/rodauth/templates/app/views/rodauth/sms_confirm.html.erb +0 -15
  762. data/lib/generators/pu/rodauth/templates/app/views/rodauth/sms_disable.html.erb +0 -13
  763. data/lib/generators/pu/rodauth/templates/app/views/rodauth/sms_request.html.erb +0 -5
  764. data/lib/generators/pu/rodauth/templates/app/views/rodauth/sms_setup.html.erb +0 -23
  765. data/lib/generators/pu/rodauth/templates/app/views/rodauth/two_factor_auth.html.erb +0 -5
  766. data/lib/generators/pu/rodauth/templates/app/views/rodauth/two_factor_disable.html.erb +0 -13
  767. data/lib/generators/pu/rodauth/templates/app/views/rodauth/two_factor_manage.html.erb +0 -22
  768. data/lib/generators/pu/rodauth/templates/app/views/rodauth/unlock_account.html.erb +0 -15
  769. data/lib/generators/pu/rodauth/templates/app/views/rodauth/unlock_account_request.html.erb +0 -9
  770. data/lib/generators/pu/rodauth/templates/app/views/rodauth/verify_account.html.erb +0 -21
  771. data/lib/generators/pu/rodauth/templates/app/views/rodauth/verify_account_resend.html.erb +0 -17
  772. data/lib/generators/pu/rodauth/templates/app/views/rodauth/verify_login_change.html.erb +0 -5
  773. data/lib/generators/pu/rodauth/templates/app/views/rodauth/webauthn_auth.html.erb +0 -15
  774. data/lib/generators/pu/rodauth/templates/app/views/rodauth/webauthn_autofill.html.erb +0 -10
  775. data/lib/generators/pu/rodauth/templates/app/views/rodauth/webauthn_remove.html.erb +0 -23
  776. data/lib/generators/pu/rodauth/templates/app/views/rodauth/webauthn_setup.html.erb +0 -23
  777. data/lib/plutonium/core/actions.rb +0 -17
  778. data/lib/plutonium/core/app_controller.rb +0 -121
  779. data/lib/plutonium/core/autodiscovery.rb +0 -13
  780. data/lib/plutonium/core/controllers.rb +0 -16
  781. data/lib/plutonium/core/definers.rb +0 -14
  782. data/lib/plutonium/core/fields/inputs.rb +0 -20
  783. data/lib/plutonium/core/fields/renderers.rb +0 -16
  784. data/lib/plutonium/core/fields.rb +0 -12
  785. data/lib/plutonium/core/ui.rb +0 -13
  786. data/lib/plutonium/core.rb +0 -16
  787. data/lib/plutonium/helpers/menu_helper.rb +0 -69
  788. data/lib/plutonium/helpers/pagination_helper.rb +0 -9
  789. data/lib/plutonium/initializers/TODO +0 -2
  790. data/lib/plutonium/initializers/patches.rb +0 -2
  791. data/lib/plutonium/initializers/simple_form.rb +0 -405
  792. data/lib/plutonium/packaging.rb +0 -9
  793. data/lib/plutonium/policy.rb +0 -8
  794. data/lib/plutonium/reactor/resource_context.rb +0 -5
  795. data/lib/plutonium/reactor/resource_controller.rb +0 -131
  796. data/lib/plutonium/reactor/resource_interaction.rb +0 -8
  797. data/lib/plutonium/reactor.rb +0 -14
  798. /data/app/views/{resource/_flash.html.erb → application/_flash_alerts.html.erb} +0 -0
  799. /data/app/views/{resource/_toast.html.erb → application/_flash_toasts.html.erb} +0 -0
  800. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/_email_auth_request_form.html.erb +0 -0
  801. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/_login_form.html.erb +0 -0
  802. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/_login_form_footer.html.erb +0 -0
  803. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/add_recovery_codes.html.erb +0 -0
  804. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/change_login.html.erb +0 -0
  805. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/change_password.html.erb +0 -0
  806. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/close_account.html.erb +0 -0
  807. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/confirm_password.html.erb +0 -0
  808. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/create_account.html.erb +0 -0
  809. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/email_auth.html.erb +0 -0
  810. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/login.html.erb +0 -0
  811. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/logout.html.erb +0 -0
  812. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/multi_phase_login.html.erb +0 -0
  813. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/otp_auth.html.erb +0 -0
  814. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/otp_disable.html.erb +0 -0
  815. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/otp_setup.html.erb +0 -0
  816. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/recovery_auth.html.erb +0 -0
  817. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/recovery_codes.html.erb +0 -0
  818. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/remember.html.erb +0 -0
  819. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/reset_password.html.erb +0 -0
  820. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/reset_password_request.html.erb +0 -0
  821. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/sms_auth.html.erb +0 -0
  822. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/sms_confirm.html.erb +0 -0
  823. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/sms_disable.html.erb +0 -0
  824. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/sms_request.html.erb +0 -0
  825. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/sms_setup.html.erb +0 -0
  826. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/two_factor_auth.html.erb +0 -0
  827. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/two_factor_disable.html.erb +0 -0
  828. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/two_factor_manage.html.erb +0 -0
  829. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/unlock_account.html.erb +0 -0
  830. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/unlock_account_request.html.erb +0 -0
  831. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/verify_account.html.erb +0 -0
  832. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/verify_account_resend.html.erb +0 -0
  833. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/verify_login_change.html.erb +0 -0
  834. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/webauthn_auth.html.erb +0 -0
  835. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/webauthn_autofill.html.erb +0 -0
  836. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/webauthn_remove.html.erb +0 -0
  837. /data/{lib/generators/pu/rodauth/templates/app/views/rodauth/tailwind → app/views/rodauth}/webauthn_setup.html.erb +0 -0
  838. /data/{lib/plutonium → config}/initializers/rabl.rb +0 -0
  839. /data/lib/generators/pu/{resource/conn/templates → pkg/app/templates/app/views/package}/.keep +0 -0
  840. /data/lib/generators/pu/{resource → res}/conn/templates/app/policies/resource_policy.rb.tt +0 -0
  841. /data/lib/generators/pu/{resource → res}/conn/templates/app/presenters/resource_presenter.rb.tt +0 -0
  842. /data/lib/generators/pu/{resource → res}/model/USAGE +0 -0
  843. /data/lib/generators/pu/{resource → res}/model/templates/create_table_migration.rb.tt +0 -0
  844. /data/lib/generators/pu/{resource → res}/model/templates/module.rb.tt +0 -0
  845. /data/lib/generators/pu/{resource/model → res/scaffold}/templates/controller.rb.tt +0 -0
@@ -297,7 +297,7 @@
297
297
  }
298
298
  uninstallEventHandlers() {
299
299
  for (let eventName in this.events) {
300
- this.webSocket[`on${eventName}`] = function() {
300
+ this.webSocket[`on${eventName}`] = function () {
301
301
  };
302
302
  }
303
303
  }
@@ -356,7 +356,7 @@
356
356
  var extend, Subscription;
357
357
  var init_subscription = __esm({
358
358
  "node_modules/@rails/actioncable/src/subscription.js"() {
359
- extend = function(object, properties) {
359
+ extend = function (object, properties) {
360
360
  if (properties != null) {
361
361
  for (let key in properties) {
362
362
  const value = properties[key];
@@ -604,9 +604,9 @@
604
604
  // node_modules/dompurify/dist/purify.js
605
605
  var require_purify = __commonJS({
606
606
  "node_modules/dompurify/dist/purify.js"(exports, module) {
607
- (function(global2, factory) {
607
+ (function (global2, factory) {
608
608
  typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, global2.DOMPurify = factory());
609
- })(exports, function() {
609
+ })(exports, function () {
610
610
  "use strict";
611
611
  const {
612
612
  entries,
@@ -656,7 +656,7 @@
656
656
  const regExpTest = unapply(RegExp.prototype.test);
657
657
  const typeErrorCreate = unconstruct(TypeError);
658
658
  function unapply(func) {
659
- return function(thisArg) {
659
+ return function (thisArg) {
660
660
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
661
661
  args[_key - 1] = arguments[_key];
662
662
  }
@@ -664,7 +664,7 @@
664
664
  };
665
665
  }
666
666
  function unconstruct(func) {
667
- return function() {
667
+ return function () {
668
668
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
669
669
  args[_key2] = arguments[_key2];
670
670
  }
@@ -921,7 +921,7 @@
921
921
  }
922
922
  cfg = clone(cfg);
923
923
  PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes
924
- SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;
924
+ SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;
925
925
  transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase;
926
926
  ALLOWED_TAGS = "ALLOWED_TAGS" in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
927
927
  ALLOWED_ATTR = "ALLOWED_ATTR" in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
@@ -1399,7 +1399,7 @@
1399
1399
  }
1400
1400
  _executeHook("afterSanitizeShadowDOM", fragment, null);
1401
1401
  };
1402
- DOMPurify2.sanitize = function(dirty) {
1402
+ DOMPurify2.sanitize = function (dirty) {
1403
1403
  let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1404
1404
  let body = null;
1405
1405
  let importedNode = null;
@@ -1448,7 +1448,7 @@
1448
1448
  }
1449
1449
  } else {
1450
1450
  if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes
1451
- dirty.indexOf("<") === -1) {
1451
+ dirty.indexOf("<") === -1) {
1452
1452
  return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
1453
1453
  }
1454
1454
  body = _initDocument(dirty);
@@ -1497,16 +1497,16 @@
1497
1497
  }
1498
1498
  return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
1499
1499
  };
1500
- DOMPurify2.setConfig = function() {
1500
+ DOMPurify2.setConfig = function () {
1501
1501
  let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1502
1502
  _parseConfig(cfg);
1503
1503
  SET_CONFIG = true;
1504
1504
  };
1505
- DOMPurify2.clearConfig = function() {
1505
+ DOMPurify2.clearConfig = function () {
1506
1506
  CONFIG = null;
1507
1507
  SET_CONFIG = false;
1508
1508
  };
1509
- DOMPurify2.isValidAttribute = function(tag, attr, value) {
1509
+ DOMPurify2.isValidAttribute = function (tag, attr, value) {
1510
1510
  if (!CONFIG) {
1511
1511
  _parseConfig({});
1512
1512
  }
@@ -1514,24 +1514,24 @@
1514
1514
  const lcName = transformCaseFunc(attr);
1515
1515
  return _isValidAttribute(lcTag, lcName, value);
1516
1516
  };
1517
- DOMPurify2.addHook = function(entryPoint, hookFunction) {
1517
+ DOMPurify2.addHook = function (entryPoint, hookFunction) {
1518
1518
  if (typeof hookFunction !== "function") {
1519
1519
  return;
1520
1520
  }
1521
1521
  hooks[entryPoint] = hooks[entryPoint] || [];
1522
1522
  arrayPush(hooks[entryPoint], hookFunction);
1523
1523
  };
1524
- DOMPurify2.removeHook = function(entryPoint) {
1524
+ DOMPurify2.removeHook = function (entryPoint) {
1525
1525
  if (hooks[entryPoint]) {
1526
1526
  return arrayPop(hooks[entryPoint]);
1527
1527
  }
1528
1528
  };
1529
- DOMPurify2.removeHooks = function(entryPoint) {
1529
+ DOMPurify2.removeHooks = function (entryPoint) {
1530
1530
  if (hooks[entryPoint]) {
1531
1531
  hooks[entryPoint] = [];
1532
1532
  }
1533
1533
  };
1534
- DOMPurify2.removeAllHooks = function() {
1534
+ DOMPurify2.removeAllHooks = function () {
1535
1535
  hooks = {};
1536
1536
  };
1537
1537
  return DOMPurify2;
@@ -1648,7 +1648,7 @@
1648
1648
  var require_now = __commonJS({
1649
1649
  "node_modules/lodash/now.js"(exports, module) {
1650
1650
  var root = require_root();
1651
- var now2 = function() {
1651
+ var now2 = function () {
1652
1652
  return root.Date.now();
1653
1653
  };
1654
1654
  module.exports = now2;
@@ -1961,7 +1961,7 @@
1961
1961
  this.separator = separator2;
1962
1962
  this.parts = text.split(separator2);
1963
1963
  }
1964
- WildcardMatcher.prototype.match = function(input) {
1964
+ WildcardMatcher.prototype.match = function (input) {
1965
1965
  var matches = true;
1966
1966
  var parts = this.parts;
1967
1967
  var ii;
@@ -1985,7 +1985,7 @@
1985
1985
  }
1986
1986
  } else if (typeof input.splice == "function") {
1987
1987
  matches = [];
1988
- for (ii = input.length; ii--; ) {
1988
+ for (ii = input.length; ii--;) {
1989
1989
  if (this.match(input[ii])) {
1990
1990
  matches[matches.length] = input[ii];
1991
1991
  }
@@ -2000,7 +2000,7 @@
2000
2000
  }
2001
2001
  return matches;
2002
2002
  };
2003
- module.exports = function(text, test, separator2) {
2003
+ module.exports = function (text, test, separator2) {
2004
2004
  var matcher = new WildcardMatcher(text, separator2 || /[\/\.]/);
2005
2005
  if (typeof test != "undefined") {
2006
2006
  return matcher.match(test);
@@ -2015,7 +2015,7 @@
2015
2015
  "node_modules/mime-match/index.js"(exports, module) {
2016
2016
  var wildcard = require_wildcard();
2017
2017
  var reMimePartSplit = /[\/\+\.]/;
2018
- module.exports = function(target, pattern) {
2018
+ module.exports = function (target, pattern) {
2019
2019
  function test(pattern2) {
2020
2020
  var result = wildcard(pattern2, target, reMimePartSplit);
2021
2021
  return result && result.length >= 2;
@@ -2028,7 +2028,7 @@
2028
2028
  // node_modules/classnames/index.js
2029
2029
  var require_classnames = __commonJS({
2030
2030
  "node_modules/classnames/index.js"(exports, module) {
2031
- (function() {
2031
+ (function () {
2032
2032
  "use strict";
2033
2033
  var hasOwn = {}.hasOwnProperty;
2034
2034
  var nativeCodeString = "[native code]";
@@ -2066,7 +2066,7 @@
2066
2066
  classNames13.default = classNames13;
2067
2067
  module.exports = classNames13;
2068
2068
  } else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
2069
- define("classnames", [], function() {
2069
+ define("classnames", [], function () {
2070
2070
  return classNames13;
2071
2071
  });
2072
2072
  } else {
@@ -2305,18 +2305,18 @@
2305
2305
  // node_modules/cropperjs/dist/cropper.js
2306
2306
  var require_cropper = __commonJS({
2307
2307
  "node_modules/cropperjs/dist/cropper.js"(exports, module) {
2308
- (function(global2, factory) {
2308
+ (function (global2, factory) {
2309
2309
  typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global2 = global2 || self, global2.Cropper = factory());
2310
- })(exports, function() {
2310
+ })(exports, function () {
2311
2311
  "use strict";
2312
2312
  function _typeof2(obj) {
2313
2313
  "@babel/helpers - typeof";
2314
2314
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
2315
- _typeof2 = function(obj2) {
2315
+ _typeof2 = function (obj2) {
2316
2316
  return typeof obj2;
2317
2317
  };
2318
2318
  } else {
2319
- _typeof2 = function(obj2) {
2319
+ _typeof2 = function (obj2) {
2320
2320
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
2321
2321
  };
2322
2322
  }
@@ -2362,7 +2362,7 @@
2362
2362
  if (Object.getOwnPropertySymbols) {
2363
2363
  var symbols = Object.getOwnPropertySymbols(object);
2364
2364
  if (enumerableOnly)
2365
- symbols = symbols.filter(function(sym) {
2365
+ symbols = symbols.filter(function (sym) {
2366
2366
  return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2367
2367
  });
2368
2368
  keys.push.apply(keys, symbols);
@@ -2373,13 +2373,13 @@
2373
2373
  for (var i4 = 1; i4 < arguments.length; i4++) {
2374
2374
  var source = arguments[i4] != null ? arguments[i4] : {};
2375
2375
  if (i4 % 2) {
2376
- ownKeys(Object(source), true).forEach(function(key) {
2376
+ ownKeys(Object(source), true).forEach(function (key) {
2377
2377
  _defineProperty(target, key, source[key]);
2378
2378
  });
2379
2379
  } else if (Object.getOwnPropertyDescriptors) {
2380
2380
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2381
2381
  } else {
2382
- ownKeys(Object(source)).forEach(function(key) {
2382
+ ownKeys(Object(source)).forEach(function (key) {
2383
2383
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2384
2384
  });
2385
2385
  }
@@ -2578,11 +2578,11 @@
2578
2578
  function forEach(data, callback) {
2579
2579
  if (data && isFunction(callback)) {
2580
2580
  if (Array.isArray(data) || isNumber(data.length)) {
2581
- toArray(data).forEach(function(value, key) {
2581
+ toArray(data).forEach(function (value, key) {
2582
2582
  callback.call(data, value, key, data);
2583
2583
  });
2584
2584
  } else if (isObject(data)) {
2585
- Object.keys(data).forEach(function(key) {
2585
+ Object.keys(data).forEach(function (key) {
2586
2586
  callback.call(data, data[key], key, data);
2587
2587
  });
2588
2588
  }
@@ -2594,9 +2594,9 @@
2594
2594
  args[_key - 1] = arguments[_key];
2595
2595
  }
2596
2596
  if (isObject(target) && args.length > 0) {
2597
- args.forEach(function(arg) {
2597
+ args.forEach(function (arg) {
2598
2598
  if (isObject(arg)) {
2599
- Object.keys(arg).forEach(function(key) {
2599
+ Object.keys(arg).forEach(function (key) {
2600
2600
  target[key] = arg[key];
2601
2601
  });
2602
2602
  }
@@ -2612,7 +2612,7 @@
2612
2612
  var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;
2613
2613
  function setStyle(element, styles) {
2614
2614
  var style = element.style;
2615
- forEach(styles, function(value, property) {
2615
+ forEach(styles, function (value, property) {
2616
2616
  if (REGEXP_SUFFIX.test(property) && isNumber(value)) {
2617
2617
  value = "".concat(value, "px");
2618
2618
  }
@@ -2627,7 +2627,7 @@
2627
2627
  return;
2628
2628
  }
2629
2629
  if (isNumber(element.length)) {
2630
- forEach(element, function(elem) {
2630
+ forEach(element, function (elem) {
2631
2631
  addClass(elem, value);
2632
2632
  });
2633
2633
  return;
@@ -2648,7 +2648,7 @@
2648
2648
  return;
2649
2649
  }
2650
2650
  if (isNumber(element.length)) {
2651
- forEach(element, function(elem) {
2651
+ forEach(element, function (elem) {
2652
2652
  removeClass(elem, value);
2653
2653
  });
2654
2654
  return;
@@ -2666,7 +2666,7 @@
2666
2666
  return;
2667
2667
  }
2668
2668
  if (isNumber(element.length)) {
2669
- forEach(element, function(elem) {
2669
+ forEach(element, function (elem) {
2670
2670
  toggleClass(elem, value, added);
2671
2671
  });
2672
2672
  return;
@@ -2717,7 +2717,7 @@
2717
2717
  }
2718
2718
  }
2719
2719
  var REGEXP_SPACES = /\s\s*/;
2720
- var onceSupported = function() {
2720
+ var onceSupported = function () {
2721
2721
  var supported = false;
2722
2722
  if (IS_BROWSER) {
2723
2723
  var once = false;
@@ -2745,7 +2745,7 @@
2745
2745
  function removeListener(element, type, listener) {
2746
2746
  var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
2747
2747
  var handler = listener;
2748
- type.trim().split(REGEXP_SPACES).forEach(function(event) {
2748
+ type.trim().split(REGEXP_SPACES).forEach(function (event) {
2749
2749
  if (!onceSupported) {
2750
2750
  var listeners = element.listeners;
2751
2751
  if (listeners && listeners[event] && listeners[event][listener]) {
@@ -2765,7 +2765,7 @@
2765
2765
  function addListener(element, type, listener) {
2766
2766
  var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
2767
2767
  var _handler = listener;
2768
- type.trim().split(REGEXP_SPACES).forEach(function(event) {
2768
+ type.trim().split(REGEXP_SPACES).forEach(function (event) {
2769
2769
  if (options.once && !onceSupported) {
2770
2770
  var _element$listeners = element.listeners, listeners = _element$listeners === void 0 ? {} : _element$listeners;
2771
2771
  _handler = function handler() {
@@ -2847,9 +2847,9 @@
2847
2847
  function getMaxZoomRatio(pointers) {
2848
2848
  var pointers2 = _objectSpread2({}, pointers);
2849
2849
  var ratios = [];
2850
- forEach(pointers, function(pointer, pointerId) {
2850
+ forEach(pointers, function (pointer, pointerId) {
2851
2851
  delete pointers2[pointerId];
2852
- forEach(pointers2, function(pointer2) {
2852
+ forEach(pointers2, function (pointer2) {
2853
2853
  var x1 = Math.abs(pointer.startX - pointer2.startX);
2854
2854
  var y1 = Math.abs(pointer.startY - pointer2.startY);
2855
2855
  var x22 = Math.abs(pointer.endX - pointer2.endX);
@@ -2860,7 +2860,7 @@
2860
2860
  ratios.push(ratio);
2861
2861
  });
2862
2862
  });
2863
- ratios.sort(function(a4, b4) {
2863
+ ratios.sort(function (a4, b4) {
2864
2864
  return Math.abs(a4) < Math.abs(b4);
2865
2865
  });
2866
2866
  return ratios[0];
@@ -2880,7 +2880,7 @@
2880
2880
  var pageX = 0;
2881
2881
  var pageY = 0;
2882
2882
  var count = 0;
2883
- forEach(pointers, function(_ref3) {
2883
+ forEach(pointers, function (_ref3) {
2884
2884
  var startX = _ref3.startX, startY = _ref3.startY;
2885
2885
  pageX += startX;
2886
2886
  pageY += startY;
@@ -2978,7 +2978,7 @@
2978
2978
  context.scale(scaleX, scaleY);
2979
2979
  context.imageSmoothingEnabled = imageSmoothingEnabled;
2980
2980
  context.imageSmoothingQuality = imageSmoothingQuality;
2981
- context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function(param) {
2981
+ context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {
2982
2982
  return Math.floor(normalizeDecimalNumber(param));
2983
2983
  }))));
2984
2984
  context.restore();
@@ -2999,7 +2999,7 @@
2999
2999
  var binary = atob(base64);
3000
3000
  var arrayBuffer = new ArrayBuffer(binary.length);
3001
3001
  var uint8 = new Uint8Array(arrayBuffer);
3002
- forEach(uint8, function(value, i4) {
3002
+ forEach(uint8, function (value, i4) {
3003
3003
  uint8[i4] = binary.charCodeAt(i4);
3004
3004
  });
3005
3005
  return arrayBuffer;
@@ -3443,7 +3443,7 @@
3443
3443
  previews = [preview2];
3444
3444
  }
3445
3445
  this.previews = previews;
3446
- forEach(previews, function(el) {
3446
+ forEach(previews, function (el) {
3447
3447
  var img = document.createElement("img");
3448
3448
  setData(el, DATA_PREVIEW, {
3449
3449
  width: el.offsetWidth,
@@ -3461,7 +3461,7 @@
3461
3461
  });
3462
3462
  },
3463
3463
  resetPreview: function resetPreview() {
3464
- forEach(this.previews, function(element) {
3464
+ forEach(this.previews, function (element) {
3465
3465
  var data = getData(element, DATA_PREVIEW);
3466
3466
  setStyle(element, {
3467
3467
  width: data.width,
@@ -3487,7 +3487,7 @@
3487
3487
  translateX: -left2,
3488
3488
  translateY: -top2
3489
3489
  }, imageData))));
3490
- forEach(this.previews, function(element) {
3490
+ forEach(this.previews, function (element) {
3491
3491
  var data = getData(element, DATA_PREVIEW);
3492
3492
  var originalWidth = data.width;
3493
3493
  var originalHeight = data.height;
@@ -3601,10 +3601,10 @@
3601
3601
  }
3602
3602
  this.render();
3603
3603
  if (options.restore) {
3604
- this.setCanvasData(forEach(canvasData, function(n3, i4) {
3604
+ this.setCanvasData(forEach(canvasData, function (n3, i4) {
3605
3605
  canvasData[i4] = n3 * ratio;
3606
3606
  }));
3607
- this.setCropBoxData(forEach(cropBoxData, function(n3, i4) {
3607
+ this.setCropBoxData(forEach(cropBoxData, function (n3, i4) {
3608
3608
  cropBoxData[i4] = n3 * ratio;
3609
3609
  }));
3610
3610
  }
@@ -3628,7 +3628,7 @@
3628
3628
  return;
3629
3629
  }
3630
3630
  this.wheeling = true;
3631
- setTimeout(function() {
3631
+ setTimeout(function () {
3632
3632
  _this.wheeling = false;
3633
3633
  }, 50);
3634
3634
  if (event.deltaY) {
@@ -3643,13 +3643,13 @@
3643
3643
  cropStart: function cropStart(event) {
3644
3644
  var buttons = event.buttons, button = event.button;
3645
3645
  if (this.disabled || (event.type === "mousedown" || event.type === "pointerdown" && event.pointerType === "mouse") && // No primary button (Usually the left button)
3646
- (isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0 || event.ctrlKey)) {
3646
+ (isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0 || event.ctrlKey)) {
3647
3647
  return;
3648
3648
  }
3649
3649
  var options = this.options, pointers = this.pointers;
3650
3650
  var action;
3651
3651
  if (event.changedTouches) {
3652
- forEach(event.changedTouches, function(touch) {
3652
+ forEach(event.changedTouches, function (touch) {
3653
3653
  pointers[touch.identifier] = getPointer(touch);
3654
3654
  });
3655
3655
  } else {
@@ -3691,7 +3691,7 @@
3691
3691
  return;
3692
3692
  }
3693
3693
  if (event.changedTouches) {
3694
- forEach(event.changedTouches, function(touch) {
3694
+ forEach(event.changedTouches, function (touch) {
3695
3695
  assign3(pointers[touch.identifier] || {}, getPointer(touch, true));
3696
3696
  });
3697
3697
  } else {
@@ -3705,7 +3705,7 @@
3705
3705
  }
3706
3706
  var action = this.action, pointers = this.pointers;
3707
3707
  if (event.changedTouches) {
3708
- forEach(event.changedTouches, function(touch) {
3708
+ forEach(event.changedTouches, function (touch) {
3709
3709
  delete pointers[touch.identifier];
3710
3710
  });
3711
3711
  } else {
@@ -4091,7 +4091,7 @@
4091
4091
  this.action = action;
4092
4092
  this.renderCropBox();
4093
4093
  }
4094
- forEach(pointers, function(p4) {
4094
+ forEach(pointers, function (p4) {
4095
4095
  p4.startX = p4.endX;
4096
4096
  p4.startY = p4.endY;
4097
4097
  });
@@ -4159,7 +4159,7 @@
4159
4159
  this.image.src = url;
4160
4160
  if (this.ready) {
4161
4161
  this.viewBoxImage.src = url;
4162
- forEach(this.previews, function(element) {
4162
+ forEach(this.previews, function (element) {
4163
4163
  element.getElementsByTagName("img")[0].src = url;
4164
4164
  });
4165
4165
  }
@@ -4386,7 +4386,7 @@
4386
4386
  height: cropBoxData.height
4387
4387
  };
4388
4388
  var ratio = imageData.width / imageData.naturalWidth;
4389
- forEach(data, function(n3, i4) {
4389
+ forEach(data, function (n3, i4) {
4390
4390
  data[i4] = n3 / ratio;
4391
4391
  });
4392
4392
  if (rounded) {
@@ -4482,7 +4482,7 @@
4482
4482
  var canvasData = this.canvasData;
4483
4483
  var data = {};
4484
4484
  if (this.ready) {
4485
- forEach(["left", "top", "width", "height", "naturalWidth", "naturalHeight"], function(n3) {
4485
+ forEach(["left", "top", "width", "height", "naturalWidth", "naturalHeight"], function (n3) {
4486
4486
  data[n3] = canvasData[n3];
4487
4487
  });
4488
4488
  }
@@ -4664,7 +4664,7 @@
4664
4664
  var scale = width / initialWidth;
4665
4665
  params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);
4666
4666
  }
4667
- context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function(param) {
4667
+ context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {
4668
4668
  return Math.floor(normalizeDecimalNumber(param));
4669
4669
  }))));
4670
4670
  return canvas;
@@ -4712,7 +4712,7 @@
4712
4712
  }
4713
4713
  };
4714
4714
  var AnotherCropper = WINDOW.Cropper;
4715
- var Cropper2 = /* @__PURE__ */ function() {
4715
+ var Cropper2 = /* @__PURE__ */ function () {
4716
4716
  function Cropper3(element) {
4717
4717
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
4718
4718
  _classCallCheck(this, Cropper3);
@@ -4786,15 +4786,15 @@
4786
4786
  xhr.onabort = clone;
4787
4787
  xhr.onerror = clone;
4788
4788
  xhr.ontimeout = clone;
4789
- xhr.onprogress = function() {
4789
+ xhr.onprogress = function () {
4790
4790
  if (xhr.getResponseHeader("content-type") !== MIME_TYPE_JPEG) {
4791
4791
  xhr.abort();
4792
4792
  }
4793
4793
  };
4794
- xhr.onload = function() {
4794
+ xhr.onload = function () {
4795
4795
  _this.read(xhr.response);
4796
4796
  };
4797
- xhr.onloadend = function() {
4797
+ xhr.onloadend = function () {
4798
4798
  _this.reloading = false;
4799
4799
  _this.xhr = null;
4800
4800
  };
@@ -4882,7 +4882,7 @@
4882
4882
  var sizingImage = document.createElement("img");
4883
4883
  var body = document.body || document.documentElement;
4884
4884
  this.sizingImage = sizingImage;
4885
- sizingImage.onload = function() {
4885
+ sizingImage.onload = function () {
4886
4886
  done(sizingImage.width, sizingImage.height);
4887
4887
  if (!isIOSWebKit) {
4888
4888
  body.removeChild(sizingImage);
@@ -5047,7 +5047,7 @@
5047
5047
  var objectToString = objectProto.toString;
5048
5048
  var nativeMax = Math.max;
5049
5049
  var nativeMin = Math.min;
5050
- var now2 = function() {
5050
+ var now2 = function () {
5051
5051
  return root.Date.now();
5052
5052
  };
5053
5053
  function debounce5(func, wait, options) {
@@ -5235,10 +5235,10 @@
5235
5235
  var viewport = "viewport";
5236
5236
  var popper = "popper";
5237
5237
  var reference = "reference";
5238
- var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) {
5238
+ var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function (acc, placement) {
5239
5239
  return acc.concat([placement + "-" + start, placement + "-" + end]);
5240
5240
  }, []);
5241
- var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
5241
+ var placements = /* @__PURE__ */[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
5242
5242
  return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
5243
5243
  }, []);
5244
5244
  var beforeRead = "beforeRead";
@@ -5289,7 +5289,7 @@
5289
5289
  // node_modules/@popperjs/core/lib/modifiers/applyStyles.js
5290
5290
  function applyStyles(_ref) {
5291
5291
  var state = _ref.state;
5292
- Object.keys(state.elements).forEach(function(name) {
5292
+ Object.keys(state.elements).forEach(function (name) {
5293
5293
  var style = state.styles[name] || {};
5294
5294
  var attributes = state.attributes[name] || {};
5295
5295
  var element = state.elements[name];
@@ -5297,7 +5297,7 @@
5297
5297
  return;
5298
5298
  }
5299
5299
  Object.assign(element.style, style);
5300
- Object.keys(attributes).forEach(function(name2) {
5300
+ Object.keys(attributes).forEach(function (name2) {
5301
5301
  var value = attributes[name2];
5302
5302
  if (value === false) {
5303
5303
  element.removeAttribute(name2);
@@ -5326,12 +5326,12 @@
5326
5326
  if (state.elements.arrow) {
5327
5327
  Object.assign(state.elements.arrow.style, initialStyles.arrow);
5328
5328
  }
5329
- return function() {
5330
- Object.keys(state.elements).forEach(function(name) {
5329
+ return function () {
5330
+ Object.keys(state.elements).forEach(function (name) {
5331
5331
  var element = state.elements[name];
5332
5332
  var attributes = state.attributes[name] || {};
5333
5333
  var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);
5334
- var style = styleProperties.reduce(function(style2, property) {
5334
+ var style = styleProperties.reduce(function (style2, property) {
5335
5335
  style2[property] = "";
5336
5336
  return style2;
5337
5337
  }, {});
@@ -5339,7 +5339,7 @@
5339
5339
  return;
5340
5340
  }
5341
5341
  Object.assign(element.style, style);
5342
- Object.keys(attributes).forEach(function(attribute) {
5342
+ Object.keys(attributes).forEach(function (attribute) {
5343
5343
  element.removeAttribute(attribute);
5344
5344
  });
5345
5345
  });
@@ -5368,7 +5368,7 @@
5368
5368
  function getUAString() {
5369
5369
  var uaData = navigator.userAgentData;
5370
5370
  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
5371
- return uaData.brands.map(function(item) {
5371
+ return uaData.brands.map(function (item) {
5372
5372
  return item.brand + "/" + item.version;
5373
5373
  }).join(" ");
5374
5374
  }
@@ -5487,7 +5487,7 @@
5487
5487
  // node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js
5488
5488
  function getTrueOffsetParent(element) {
5489
5489
  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
5490
- getComputedStyle2(element).position === "fixed") {
5490
+ getComputedStyle2(element).position === "fixed") {
5491
5491
  return null;
5492
5492
  }
5493
5493
  return element.offsetParent;
@@ -5558,7 +5558,7 @@
5558
5558
 
5559
5559
  // node_modules/@popperjs/core/lib/utils/expandToHashMap.js
5560
5560
  function expandToHashMap(value, keys) {
5561
- return keys.reduce(function(hashMap, key) {
5561
+ return keys.reduce(function (hashMap, key) {
5562
5562
  hashMap[key] = value;
5563
5563
  return hashMap;
5564
5564
  }, {});
@@ -5762,16 +5762,16 @@
5762
5762
  var window2 = getWindow(state.elements.popper);
5763
5763
  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
5764
5764
  if (scroll) {
5765
- scrollParents.forEach(function(scrollParent) {
5765
+ scrollParents.forEach(function (scrollParent) {
5766
5766
  scrollParent.addEventListener("scroll", instance.update, passive);
5767
5767
  });
5768
5768
  }
5769
5769
  if (resize) {
5770
5770
  window2.addEventListener("resize", instance.update, passive);
5771
5771
  }
5772
- return function() {
5772
+ return function () {
5773
5773
  if (scroll) {
5774
- scrollParents.forEach(function(scrollParent) {
5774
+ scrollParents.forEach(function (scrollParent) {
5775
5775
  scrollParent.removeEventListener("scroll", instance.update, passive);
5776
5776
  });
5777
5777
  }
@@ -5798,7 +5798,7 @@
5798
5798
  top: "bottom"
5799
5799
  };
5800
5800
  function getOppositePlacement(placement) {
5801
- return placement.replace(/left|right|bottom|top/g, function(matched) {
5801
+ return placement.replace(/left|right|bottom|top/g, function (matched) {
5802
5802
  return hash[matched];
5803
5803
  });
5804
5804
  }
@@ -5809,7 +5809,7 @@
5809
5809
  end: "start"
5810
5810
  };
5811
5811
  function getOppositeVariationPlacement(placement) {
5812
- return placement.replace(/start|end/g, function(matched) {
5812
+ return placement.replace(/start|end/g, function (matched) {
5813
5813
  return hash2[matched];
5814
5814
  });
5815
5815
  }
@@ -5944,7 +5944,7 @@
5944
5944
  if (!isElement(clipperElement)) {
5945
5945
  return [];
5946
5946
  }
5947
- return clippingParents2.filter(function(clippingParent) {
5947
+ return clippingParents2.filter(function (clippingParent) {
5948
5948
  return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
5949
5949
  });
5950
5950
  }
@@ -5952,7 +5952,7 @@
5952
5952
  var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary);
5953
5953
  var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
5954
5954
  var firstClippingParent = clippingParents2[0];
5955
- var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
5955
+ var clippingRect = clippingParents2.reduce(function (accRect, clippingParent) {
5956
5956
  var rect = getClientRectFromMixedType(element, clippingParent, strategy);
5957
5957
  accRect.top = max(rect.top, accRect.top);
5958
5958
  accRect.right = min(rect.right, accRect.right);
@@ -6051,7 +6051,7 @@
6051
6051
  var offsetData = state.modifiersData.offset;
6052
6052
  if (elementContext === popper && offsetData) {
6053
6053
  var offset2 = offsetData[placement];
6054
- Object.keys(overflowOffsets).forEach(function(key) {
6054
+ Object.keys(overflowOffsets).forEach(function (key) {
6055
6055
  var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
6056
6056
  var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x";
6057
6057
  overflowOffsets[key] += offset2[axis] * multiply;
@@ -6067,16 +6067,16 @@
6067
6067
  }
6068
6068
  var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
6069
6069
  var variation = getVariation(placement);
6070
- var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
6070
+ var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement2) {
6071
6071
  return getVariation(placement2) === variation;
6072
6072
  }) : basePlacements;
6073
- var allowedPlacements = placements2.filter(function(placement2) {
6073
+ var allowedPlacements = placements2.filter(function (placement2) {
6074
6074
  return allowedAutoPlacements.indexOf(placement2) >= 0;
6075
6075
  });
6076
6076
  if (allowedPlacements.length === 0) {
6077
6077
  allowedPlacements = placements2;
6078
6078
  }
6079
- var overflows = allowedPlacements.reduce(function(acc, placement2) {
6079
+ var overflows = allowedPlacements.reduce(function (acc, placement2) {
6080
6080
  acc[placement2] = detectOverflow(state, {
6081
6081
  placement: placement2,
6082
6082
  boundary,
@@ -6085,7 +6085,7 @@
6085
6085
  })[getBasePlacement(placement2)];
6086
6086
  return acc;
6087
6087
  }, {});
6088
- return Object.keys(overflows).sort(function(a4, b4) {
6088
+ return Object.keys(overflows).sort(function (a4, b4) {
6089
6089
  return overflows[a4] - overflows[b4];
6090
6090
  });
6091
6091
  }
@@ -6108,7 +6108,7 @@
6108
6108
  var basePlacement = getBasePlacement(preferredPlacement);
6109
6109
  var isBasePlacement = basePlacement === preferredPlacement;
6110
6110
  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
6111
- var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
6111
+ var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement2) {
6112
6112
  return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, {
6113
6113
  placement: placement2,
6114
6114
  boundary,
@@ -6148,7 +6148,7 @@
6148
6148
  if (checkAltAxis) {
6149
6149
  checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
6150
6150
  }
6151
- if (checks.every(function(check) {
6151
+ if (checks.every(function (check) {
6152
6152
  return check;
6153
6153
  })) {
6154
6154
  firstFittingPlacement = placement;
@@ -6160,10 +6160,10 @@
6160
6160
  if (makeFallbackChecks) {
6161
6161
  var numberOfChecks = flipVariations ? 3 : 1;
6162
6162
  var _loop = function _loop2(_i2) {
6163
- var fittingPlacement = placements2.find(function(placement2) {
6163
+ var fittingPlacement = placements2.find(function (placement2) {
6164
6164
  var checks2 = checksMap.get(placement2);
6165
6165
  if (checks2) {
6166
- return checks2.slice(0, _i2).every(function(check) {
6166
+ return checks2.slice(0, _i2).every(function (check) {
6167
6167
  return check;
6168
6168
  });
6169
6169
  }
@@ -6212,7 +6212,7 @@
6212
6212
  };
6213
6213
  }
6214
6214
  function isAnySideFullyClipped(overflow) {
6215
- return [top, right, bottom, left].some(function(side) {
6215
+ return [top, right, bottom, left].some(function (side) {
6216
6216
  return overflow[side] >= 0;
6217
6217
  });
6218
6218
  }
@@ -6270,7 +6270,7 @@
6270
6270
  function offset(_ref2) {
6271
6271
  var state = _ref2.state, options = _ref2.options, name = _ref2.name;
6272
6272
  var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
6273
- var data = placements.reduce(function(acc, placement) {
6273
+ var data = placements.reduce(function (acc, placement) {
6274
6274
  acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
6275
6275
  return acc;
6276
6276
  }, {});
@@ -6447,7 +6447,7 @@
6447
6447
  };
6448
6448
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
6449
6449
  if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
6450
- isScrollParent(documentElement)) {
6450
+ isScrollParent(documentElement)) {
6451
6451
  scroll = getNodeScroll(offsetParent);
6452
6452
  }
6453
6453
  if (isHTMLElement(offsetParent)) {
@@ -6471,13 +6471,13 @@
6471
6471
  var map = /* @__PURE__ */ new Map();
6472
6472
  var visited = /* @__PURE__ */ new Set();
6473
6473
  var result = [];
6474
- modifiers.forEach(function(modifier) {
6474
+ modifiers.forEach(function (modifier) {
6475
6475
  map.set(modifier.name, modifier);
6476
6476
  });
6477
6477
  function sort(modifier) {
6478
6478
  visited.add(modifier.name);
6479
6479
  var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
6480
- requires.forEach(function(dep) {
6480
+ requires.forEach(function (dep) {
6481
6481
  if (!visited.has(dep)) {
6482
6482
  var depModifier = map.get(dep);
6483
6483
  if (depModifier) {
@@ -6487,7 +6487,7 @@
6487
6487
  });
6488
6488
  result.push(modifier);
6489
6489
  }
6490
- modifiers.forEach(function(modifier) {
6490
+ modifiers.forEach(function (modifier) {
6491
6491
  if (!visited.has(modifier.name)) {
6492
6492
  sort(modifier);
6493
6493
  }
@@ -6496,8 +6496,8 @@
6496
6496
  }
6497
6497
  function orderModifiers(modifiers) {
6498
6498
  var orderedModifiers = order(modifiers);
6499
- return modifierPhases.reduce(function(acc, phase) {
6500
- return acc.concat(orderedModifiers.filter(function(modifier) {
6499
+ return modifierPhases.reduce(function (acc, phase) {
6500
+ return acc.concat(orderedModifiers.filter(function (modifier) {
6501
6501
  return modifier.phase === phase;
6502
6502
  }));
6503
6503
  }, []);
@@ -6506,10 +6506,10 @@
6506
6506
  // node_modules/@popperjs/core/lib/utils/debounce.js
6507
6507
  function debounce(fn2) {
6508
6508
  var pending;
6509
- return function() {
6509
+ return function () {
6510
6510
  if (!pending) {
6511
- pending = new Promise(function(resolve) {
6512
- Promise.resolve().then(function() {
6511
+ pending = new Promise(function (resolve) {
6512
+ Promise.resolve().then(function () {
6513
6513
  pending = void 0;
6514
6514
  resolve(fn2());
6515
6515
  });
@@ -6521,7 +6521,7 @@
6521
6521
 
6522
6522
  // node_modules/@popperjs/core/lib/utils/mergeByName.js
6523
6523
  function mergeByName(modifiers) {
6524
- var merged = modifiers.reduce(function(merged2, current) {
6524
+ var merged = modifiers.reduce(function (merged2, current) {
6525
6525
  var existing = merged2[current.name];
6526
6526
  merged2[current.name] = existing ? Object.assign({}, existing, current, {
6527
6527
  options: Object.assign({}, existing.options, current.options),
@@ -6529,7 +6529,7 @@
6529
6529
  }) : current;
6530
6530
  return merged2;
6531
6531
  }, {});
6532
- return Object.keys(merged).map(function(key) {
6532
+ return Object.keys(merged).map(function (key) {
6533
6533
  return merged[key];
6534
6534
  });
6535
6535
  }
@@ -6544,7 +6544,7 @@
6544
6544
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6545
6545
  args[_key] = arguments[_key];
6546
6546
  }
6547
- return !args.some(function(element) {
6547
+ return !args.some(function (element) {
6548
6548
  return !(element && typeof element.getBoundingClientRect === "function");
6549
6549
  });
6550
6550
  }
@@ -6582,7 +6582,7 @@
6582
6582
  popper: listScrollParents(popper2)
6583
6583
  };
6584
6584
  var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers3, state.options.modifiers)));
6585
- state.orderedModifiers = orderedModifiers.filter(function(m4) {
6585
+ state.orderedModifiers = orderedModifiers.filter(function (m4) {
6586
6586
  return m4.enabled;
6587
6587
  });
6588
6588
  runModifierEffects();
@@ -6607,7 +6607,7 @@
6607
6607
  };
6608
6608
  state.reset = false;
6609
6609
  state.placement = state.options.placement;
6610
- state.orderedModifiers.forEach(function(modifier) {
6610
+ state.orderedModifiers.forEach(function (modifier) {
6611
6611
  return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
6612
6612
  });
6613
6613
  for (var index = 0; index < state.orderedModifiers.length; index++) {
@@ -6629,8 +6629,8 @@
6629
6629
  },
6630
6630
  // Async and optimistically optimized update – it will not be executed if
6631
6631
  // not necessary (debounced to run at most once-per-tick)
6632
- update: debounce(function() {
6633
- return new Promise(function(resolve) {
6632
+ update: debounce(function () {
6633
+ return new Promise(function (resolve) {
6634
6634
  instance.forceUpdate();
6635
6635
  resolve(state);
6636
6636
  });
@@ -6643,13 +6643,13 @@
6643
6643
  if (!areValidElements(reference2, popper2)) {
6644
6644
  return instance;
6645
6645
  }
6646
- instance.setOptions(options).then(function(state2) {
6646
+ instance.setOptions(options).then(function (state2) {
6647
6647
  if (!isDestroyed && options.onFirstUpdate) {
6648
6648
  options.onFirstUpdate(state2);
6649
6649
  }
6650
6650
  });
6651
6651
  function runModifierEffects() {
6652
- state.orderedModifiers.forEach(function(_ref) {
6652
+ state.orderedModifiers.forEach(function (_ref) {
6653
6653
  var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect4 = _ref.effect;
6654
6654
  if (typeof effect4 === "function") {
6655
6655
  var cleanupFn = effect4({
@@ -6665,7 +6665,7 @@
6665
6665
  });
6666
6666
  }
6667
6667
  function cleanupModifierEffects() {
6668
- effectCleanupFns.forEach(function(fn2) {
6668
+ effectCleanupFns.forEach(function (fn2) {
6669
6669
  return fn2();
6670
6670
  });
6671
6671
  effectCleanupFns = [];
@@ -6977,7 +6977,7 @@
6977
6977
  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
6978
6978
  if (originalTypeEvent in customEvents) {
6979
6979
  const wrapFunction = (fn3) => {
6980
- return function(event) {
6980
+ return function (event) {
6981
6981
  if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {
6982
6982
  return fn3.call(this, event);
6983
6983
  }
@@ -7319,7 +7319,7 @@
7319
7319
  var enableDismissTrigger = (component, method = "hide") => {
7320
7320
  const clickEvent = `click.dismiss${component.EVENT_KEY}`;
7321
7321
  const name = component.NAME;
7322
- EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function(event) {
7322
+ EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) {
7323
7323
  if (["A", "AREA"].includes(this.tagName)) {
7324
7324
  event.preventDefault();
7325
7325
  }
@@ -7361,7 +7361,7 @@
7361
7361
  }
7362
7362
  // Static
7363
7363
  static jQueryInterface(config) {
7364
- return this.each(function() {
7364
+ return this.each(function () {
7365
7365
  const data = _Alert.getOrCreateInstance(this);
7366
7366
  if (typeof config !== "string") {
7367
7367
  return;
@@ -7393,7 +7393,7 @@
7393
7393
  }
7394
7394
  // Static
7395
7395
  static jQueryInterface(config) {
7396
- return this.each(function() {
7396
+ return this.each(function () {
7397
7397
  const data = _Button.getOrCreateInstance(this);
7398
7398
  if (config === "toggle") {
7399
7399
  data[config]();
@@ -7789,7 +7789,7 @@
7789
7789
  }
7790
7790
  // Static
7791
7791
  static jQueryInterface(config) {
7792
- return this.each(function() {
7792
+ return this.each(function () {
7793
7793
  const data = _Carousel.getOrCreateInstance(this, config);
7794
7794
  if (typeof config === "number") {
7795
7795
  data.to(config);
@@ -7804,7 +7804,7 @@
7804
7804
  });
7805
7805
  }
7806
7806
  };
7807
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function(event) {
7807
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
7808
7808
  const target = SelectorEngine.getElementFromSelector(this);
7809
7809
  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
7810
7810
  return;
@@ -8008,7 +8008,7 @@
8008
8008
  if (typeof config === "string" && /show|hide/.test(config)) {
8009
8009
  _config.toggle = false;
8010
8010
  }
8011
- return this.each(function() {
8011
+ return this.each(function () {
8012
8012
  const data = _Collapse.getOrCreateInstance(this, _config);
8013
8013
  if (typeof config === "string") {
8014
8014
  if (typeof data[config] === "undefined") {
@@ -8019,7 +8019,7 @@
8019
8019
  });
8020
8020
  }
8021
8021
  };
8022
- EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function(event) {
8022
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
8023
8023
  if (event.target.tagName === "A" || event.delegateTarget && event.delegateTarget.tagName === "A") {
8024
8024
  event.preventDefault();
8025
8025
  }
@@ -8267,7 +8267,7 @@
8267
8267
  }
8268
8268
  // Static
8269
8269
  static jQueryInterface(config) {
8270
- return this.each(function() {
8270
+ return this.each(function () {
8271
8271
  const data = _Dropdown.getOrCreateInstance(this, config);
8272
8272
  if (typeof config !== "string") {
8273
8273
  return;
@@ -8335,7 +8335,7 @@
8335
8335
  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
8336
8336
  EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
8337
8337
  EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
8338
- EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function(event) {
8338
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
8339
8339
  event.preventDefault();
8340
8340
  Dropdown.getOrCreateInstance(this).toggle();
8341
8341
  });
@@ -8824,7 +8824,7 @@
8824
8824
  }
8825
8825
  // Static
8826
8826
  static jQueryInterface(config, relatedTarget) {
8827
- return this.each(function() {
8827
+ return this.each(function () {
8828
8828
  const data = _Modal.getOrCreateInstance(this, config);
8829
8829
  if (typeof config !== "string") {
8830
8830
  return;
@@ -8836,7 +8836,7 @@
8836
8836
  });
8837
8837
  }
8838
8838
  };
8839
- EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function(event) {
8839
+ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
8840
8840
  const target = SelectorEngine.getElementFromSelector(this);
8841
8841
  if (["A", "AREA"].includes(this.tagName)) {
8842
8842
  event.preventDefault();
@@ -9008,7 +9008,7 @@
9008
9008
  }
9009
9009
  // Static
9010
9010
  static jQueryInterface(config) {
9011
- return this.each(function() {
9011
+ return this.each(function () {
9012
9012
  const data = _Offcanvas.getOrCreateInstance(this, config);
9013
9013
  if (typeof config !== "string") {
9014
9014
  return;
@@ -9020,7 +9020,7 @@
9020
9020
  });
9021
9021
  }
9022
9022
  };
9023
- EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function(event) {
9023
+ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
9024
9024
  const target = SelectorEngine.getElementFromSelector(this);
9025
9025
  if (["A", "AREA"].includes(this.tagName)) {
9026
9026
  event.preventDefault();
@@ -9688,7 +9688,7 @@
9688
9688
  }
9689
9689
  // Static
9690
9690
  static jQueryInterface(config) {
9691
- return this.each(function() {
9691
+ return this.each(function () {
9692
9692
  const data = _Tooltip.getOrCreateInstance(this, config);
9693
9693
  if (typeof config !== "string") {
9694
9694
  return;
@@ -9743,7 +9743,7 @@
9743
9743
  }
9744
9744
  // Static
9745
9745
  static jQueryInterface(config) {
9746
- return this.each(function() {
9746
+ return this.each(function () {
9747
9747
  const data = _Popover.getOrCreateInstance(this, config);
9748
9748
  if (typeof config !== "string") {
9749
9749
  return;
@@ -9946,7 +9946,7 @@
9946
9946
  }
9947
9947
  // Static
9948
9948
  static jQueryInterface(config) {
9949
- return this.each(function() {
9949
+ return this.each(function () {
9950
9950
  const data = _ScrollSpy.getOrCreateInstance(this, config);
9951
9951
  if (typeof config !== "string") {
9952
9952
  return;
@@ -10158,7 +10158,7 @@
10158
10158
  }
10159
10159
  // Static
10160
10160
  static jQueryInterface(config) {
10161
- return this.each(function() {
10161
+ return this.each(function () {
10162
10162
  const data = _Tab.getOrCreateInstance(this);
10163
10163
  if (typeof config !== "string") {
10164
10164
  return;
@@ -10170,7 +10170,7 @@
10170
10170
  });
10171
10171
  }
10172
10172
  };
10173
- EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function(event) {
10173
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
10174
10174
  if (["A", "AREA"].includes(this.tagName)) {
10175
10175
  event.preventDefault();
10176
10176
  }
@@ -10321,7 +10321,7 @@
10321
10321
  }
10322
10322
  // Static
10323
10323
  static jQueryInterface(config) {
10324
- return this.each(function() {
10324
+ return this.each(function () {
10325
10325
  const data = _Toast.getOrCreateInstance(this, config);
10326
10326
  if (typeof config === "string") {
10327
10327
  if (typeof data[config] === "undefined") {
@@ -10336,7 +10336,7 @@
10336
10336
  defineJQueryPlugin(Toast);
10337
10337
 
10338
10338
  // node_modules/@hotwired/turbo/dist/turbo.es2017-esm.js
10339
- (function() {
10339
+ (function () {
10340
10340
  if (window.Reflect === void 0 || window.customElements === void 0 || window.customElements.polyfillWrapFlushCallback) {
10341
10341
  return;
10342
10342
  }
@@ -10351,10 +10351,10 @@
10351
10351
  HTMLElement.prototype.constructor = HTMLElement;
10352
10352
  Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement);
10353
10353
  })();
10354
- (function(prototype) {
10354
+ (function (prototype) {
10355
10355
  if (typeof prototype.requestSubmit == "function")
10356
10356
  return;
10357
- prototype.requestSubmit = function(submitter) {
10357
+ prototype.requestSubmit = function (submitter) {
10358
10358
  if (submitter) {
10359
10359
  validateSubmitter(submitter, this);
10360
10360
  submitter.click();
@@ -10388,7 +10388,7 @@
10388
10388
  submittersByForm.set(submitter.form, submitter);
10389
10389
  }
10390
10390
  }
10391
- (function() {
10391
+ (function () {
10392
10392
  if ("submitter" in Event.prototype)
10393
10393
  return;
10394
10394
  let prototype = window.Event.prototype;
@@ -10407,7 +10407,7 @@
10407
10407
  });
10408
10408
  })();
10409
10409
  var FrameLoadingStyle;
10410
- (function(FrameLoadingStyle2) {
10410
+ (function (FrameLoadingStyle2) {
10411
10411
  FrameLoadingStyle2["eager"] = "eager";
10412
10412
  FrameLoadingStyle2["lazy"] = "lazy";
10413
10413
  })(FrameLoadingStyle || (FrameLoadingStyle = {}));
@@ -10748,7 +10748,7 @@
10748
10748
  }
10749
10749
  }
10750
10750
  var FetchMethod;
10751
- (function(FetchMethod2) {
10751
+ (function (FetchMethod2) {
10752
10752
  FetchMethod2[FetchMethod2["get"] = 0] = "get";
10753
10753
  FetchMethod2[FetchMethod2["post"] = 1] = "post";
10754
10754
  FetchMethod2[FetchMethod2["put"] = 2] = "put";
@@ -10927,7 +10927,7 @@
10927
10927
  return fragment;
10928
10928
  }
10929
10929
  var FormSubmissionState;
10930
- (function(FormSubmissionState2) {
10930
+ (function (FormSubmissionState2) {
10931
10931
  FormSubmissionState2[FormSubmissionState2["initialized"] = 0] = "initialized";
10932
10932
  FormSubmissionState2[FormSubmissionState2["requesting"] = 1] = "requesting";
10933
10933
  FormSubmissionState2[FormSubmissionState2["waiting"] = 2] = "waiting";
@@ -10936,7 +10936,7 @@
10936
10936
  FormSubmissionState2[FormSubmissionState2["stopped"] = 5] = "stopped";
10937
10937
  })(FormSubmissionState || (FormSubmissionState = {}));
10938
10938
  var FormEnctype;
10939
- (function(FormEnctype2) {
10939
+ (function (FormEnctype2) {
10940
10940
  FormEnctype2["urlEncoded"] = "application/x-www-form-urlencoded";
10941
10941
  FormEnctype2["multipart"] = "multipart/form-data";
10942
10942
  FormEnctype2["plain"] = "text/plain";
@@ -11909,14 +11909,14 @@
11909
11909
  }
11910
11910
  };
11911
11911
  var TimingMetric;
11912
- (function(TimingMetric2) {
11912
+ (function (TimingMetric2) {
11913
11913
  TimingMetric2["visitStart"] = "visitStart";
11914
11914
  TimingMetric2["requestStart"] = "requestStart";
11915
11915
  TimingMetric2["requestEnd"] = "requestEnd";
11916
11916
  TimingMetric2["visitEnd"] = "visitEnd";
11917
11917
  })(TimingMetric || (TimingMetric = {}));
11918
11918
  var VisitState;
11919
- (function(VisitState2) {
11919
+ (function (VisitState2) {
11920
11920
  VisitState2["initialized"] = "initialized";
11921
11921
  VisitState2["started"] = "started";
11922
11922
  VisitState2["canceled"] = "canceled";
@@ -11934,7 +11934,7 @@
11934
11934
  acceptsStreamResponse: false
11935
11935
  };
11936
11936
  var SystemStatusCode;
11937
- (function(SystemStatusCode2) {
11937
+ (function (SystemStatusCode2) {
11938
11938
  SystemStatusCode2[SystemStatusCode2["networkFailure"] = 0] = "networkFailure";
11939
11939
  SystemStatusCode2[SystemStatusCode2["timeoutFailure"] = -1] = "timeoutFailure";
11940
11940
  SystemStatusCode2[SystemStatusCode2["contentTypeMismatch"] = -2] = "contentTypeMismatch";
@@ -12641,7 +12641,7 @@
12641
12641
  }
12642
12642
  };
12643
12643
  var PageStage;
12644
- (function(PageStage2) {
12644
+ (function (PageStage2) {
12645
12645
  PageStage2[PageStage2["initial"] = 0] = "initial";
12646
12646
  PageStage2[PageStage2["loading"] = 1] = "loading";
12647
12647
  PageStage2[PageStage2["interactive"] = 2] = "interactive";
@@ -14157,8 +14157,8 @@
14157
14157
  return obj;
14158
14158
  if (Array.isArray(obj))
14159
14159
  return obj.map(walk);
14160
- return Object.keys(obj).reduce(function(acc, key) {
14161
- var camel = key[0].toLowerCase() + key.slice(1).replace(/([A-Z]+)/g, function(m4, x3) {
14160
+ return Object.keys(obj).reduce(function (acc, key) {
14161
+ var camel = key[0].toLowerCase() + key.slice(1).replace(/([A-Z]+)/g, function (m4, x3) {
14162
14162
  return "_" + x3.toLowerCase();
14163
14163
  });
14164
14164
  acc[camel] = walk(obj[key]);
@@ -15786,11 +15786,11 @@
15786
15786
  return extended;
15787
15787
  }
15788
15788
  function testReflectExtension() {
15789
- const a4 = function() {
15789
+ const a4 = function () {
15790
15790
  this.a.call(this);
15791
15791
  };
15792
15792
  const b4 = extendWithReflect(a4);
15793
- b4.prototype.a = function() {
15793
+ b4.prototype.a = function () {
15794
15794
  };
15795
15795
  return new b4();
15796
15796
  }
@@ -16725,9 +16725,9 @@
16725
16725
  // node_modules/@babel/runtime/helpers/esm/typeof.js
16726
16726
  function _typeof(o4) {
16727
16727
  "@babel/helpers - typeof";
16728
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o5) {
16728
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o5) {
16729
16729
  return typeof o5;
16730
- } : function(o5) {
16730
+ } : function (o5) {
16731
16731
  return o5 && "function" == typeof Symbol && o5.constructor === Symbol && o5 !== Symbol.prototype ? "symbol" : typeof o5;
16732
16732
  }, _typeof(o4);
16733
16733
  }
@@ -16958,7 +16958,7 @@
16958
16958
 
16959
16959
  // node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js
16960
16960
  function buildFormatLongFn(args) {
16961
- return function() {
16961
+ return function () {
16962
16962
  var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
16963
16963
  var width = options.width ? String(options.width) : args.defaultWidth;
16964
16964
  var format = args.formats[width] || args.formats[args.defaultWidth];
@@ -17017,7 +17017,7 @@
17017
17017
 
17018
17018
  // node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js
17019
17019
  function buildLocalizeFn(args) {
17020
- return function(dirtyIndex, options) {
17020
+ return function (dirtyIndex, options) {
17021
17021
  var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone";
17022
17022
  var valuesArray;
17023
17023
  if (context === "formatting" && args.formattingValues) {
@@ -17167,7 +17167,7 @@
17167
17167
 
17168
17168
  // node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js
17169
17169
  function buildMatchFn(args) {
17170
- return function(string) {
17170
+ return function (string) {
17171
17171
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
17172
17172
  var width = options.width;
17173
17173
  var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
@@ -17177,9 +17177,9 @@
17177
17177
  }
17178
17178
  var matchedString = matchResult[0];
17179
17179
  var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
17180
- var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function(pattern) {
17180
+ var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
17181
17181
  return pattern.test(matchedString);
17182
- }) : findKey(parsePatterns, function(pattern) {
17182
+ }) : findKey(parsePatterns, function (pattern) {
17183
17183
  return pattern.test(matchedString);
17184
17184
  });
17185
17185
  var value;
@@ -17211,7 +17211,7 @@
17211
17211
 
17212
17212
  // node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js
17213
17213
  function buildMatchPatternFn(args) {
17214
- return function(string) {
17214
+ return function (string) {
17215
17215
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
17216
17216
  var matchResult = string.match(args.matchPattern);
17217
17217
  if (!matchResult)
@@ -17968,7 +17968,7 @@
17968
17968
  },
17969
17969
  warn: () => {
17970
17970
  },
17971
- error: function() {
17971
+ error: function () {
17972
17972
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
17973
17973
  args[_key] = arguments[_key];
17974
17974
  }
@@ -17976,19 +17976,19 @@
17976
17976
  }
17977
17977
  };
17978
17978
  var debugLogger = {
17979
- debug: function() {
17979
+ debug: function () {
17980
17980
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
17981
17981
  args[_key2] = arguments[_key2];
17982
17982
  }
17983
17983
  return console.debug(`[Uppy] [${getTimeStamp()}]`, ...args);
17984
17984
  },
17985
- warn: function() {
17985
+ warn: function () {
17986
17986
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
17987
17987
  args[_key3] = arguments[_key3];
17988
17988
  }
17989
17989
  return console.warn(`[Uppy] [${getTimeStamp()}]`, ...args);
17990
17990
  },
17991
- error: function() {
17991
+ error: function () {
17992
17992
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
17993
17993
  args[_key4] = arguments[_key4];
17994
17994
  }
@@ -19813,7 +19813,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19813
19813
  }
19814
19814
  function x() {
19815
19815
  var n3, l5, u4, t4, o4, r6, e4, c4, s5;
19816
- for (i.sort(f); n3 = i.shift(); )
19816
+ for (i.sort(f); n3 = i.shift();)
19817
19817
  n3.__d && (l5 = i.length, t4 = void 0, o4 = void 0, r6 = void 0, c4 = (e4 = (u4 = n3).__v).__e, (s5 = u4.__P) && (t4 = [], o4 = [], (r6 = h({}, e4)).__v = e4.__v + 1, z(s5, e4, r6, u4.__n, void 0 !== s5.ownerSVGElement, null != e4.__h ? [c4] : null, t4, null == c4 ? g(e4) : c4, e4.__h, o4), L(t4, e4, o4), e4.__e != c4 && m(e4)), i.length > l5 && i.sort(f));
19818
19818
  x.__r = 0;
19819
19819
  }
@@ -19821,7 +19821,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19821
19821
  var p4, y3, _3, b4, m4, w4, x3, P3, C3, D3 = 0, H3 = t4 && t4.__k || s2, I3 = H3.length, T4 = I3, j4 = l5.length;
19822
19822
  for (u4.__k = [], p4 = 0; p4 < j4; p4++)
19823
19823
  null != (b4 = u4.__k[p4] = null == (b4 = l5[p4]) || "boolean" == typeof b4 || "function" == typeof b4 ? null : "string" == typeof b4 || "number" == typeof b4 || "bigint" == typeof b4 ? d(null, b4, null, null, b4) : v(b4) ? d(k, { children: b4 }, null, null, null) : b4.__b > 0 ? d(b4.type, b4.props, b4.key, b4.ref ? b4.ref : null, b4.__v) : b4) ? (b4.__ = u4, b4.__b = u4.__b + 1, -1 === (P3 = A(b4, H3, x3 = p4 + D3, T4)) ? _3 = c : (_3 = H3[P3] || c, H3[P3] = void 0, T4--), z(n3, b4, _3, i4, o4, r6, f4, e4, a4, h4), m4 = b4.__e, (y3 = b4.ref) && _3.ref != y3 && (_3.ref && N(_3.ref, null, b4), h4.push(y3, b4.__c || m4, b4)), null != m4 && (null == w4 && (w4 = m4), (C3 = _3 === c || null === _3.__v) ? -1 == P3 && D3-- : P3 !== x3 && (P3 === x3 + 1 ? D3++ : P3 > x3 ? T4 > j4 - x3 ? D3 += P3 - x3 : D3-- : D3 = P3 < x3 && P3 == x3 - 1 ? P3 - x3 : 0), x3 = p4 + D3, "function" != typeof b4.type || P3 === x3 && _3.__k !== b4.__k ? "function" == typeof b4.type || P3 === x3 && !C3 ? void 0 !== b4.__d ? (e4 = b4.__d, b4.__d = void 0) : e4 = m4.nextSibling : e4 = S(n3, m4, e4) : e4 = $(b4, e4, n3), "function" == typeof u4.type && (u4.__d = e4))) : (_3 = H3[p4]) && null == _3.key && _3.__e && (_3.__e == e4 && (_3.__ = t4, e4 = g(_3)), O(_3, _3, false), H3[p4] = null);
19824
- for (u4.__e = w4, p4 = I3; p4--; )
19824
+ for (u4.__e = w4, p4 = I3; p4--;)
19825
19825
  null != H3[p4] && ("function" == typeof u4.type && null != H3[p4].__e && H3[p4].__e == u4.__d && (u4.__d = H3[p4].__e.nextSibling), O(H3[p4], H3[p4]));
19826
19826
  }
19827
19827
  function $(n3, l5, u4) {
@@ -19830,7 +19830,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19830
19830
  return l5;
19831
19831
  }
19832
19832
  function C(n3, l5) {
19833
- return l5 = l5 || [], null == n3 || "boolean" == typeof n3 || (v(n3) ? n3.some(function(n4) {
19833
+ return l5 = l5 || [], null == n3 || "boolean" == typeof n3 || (v(n3) ? n3.some(function (n4) {
19834
19834
  C(n4, l5);
19835
19835
  }) : l5.push(n3)), l5;
19836
19836
  }
@@ -19842,7 +19842,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19842
19842
  if (null === e4 || e4 && i4 == e4.key && o4 === e4.type)
19843
19843
  return u4;
19844
19844
  if (t4 > (null != e4 ? 1 : 0))
19845
- for (; r6 >= 0 || f4 < l5.length; ) {
19845
+ for (; r6 >= 0 || f4 < l5.length;) {
19846
19846
  if (r6 >= 0) {
19847
19847
  if ((e4 = l5[r6]) && i4 == e4.key && o4 === e4.type)
19848
19848
  return r6;
@@ -19869,30 +19869,30 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19869
19869
  function I(n3, l5, u4, t4, i4) {
19870
19870
  var o4;
19871
19871
  n:
19872
- if ("style" === l5)
19873
- if ("string" == typeof u4)
19874
- n3.style.cssText = u4;
19875
- else {
19876
- if ("string" == typeof t4 && (n3.style.cssText = t4 = ""), t4)
19877
- for (l5 in t4)
19878
- u4 && l5 in u4 || H(n3.style, l5, "");
19879
- if (u4)
19880
- for (l5 in u4)
19881
- t4 && u4[l5] === t4[l5] || H(n3.style, l5, u4[l5]);
19882
- }
19883
- else if ("o" === l5[0] && "n" === l5[1])
19884
- o4 = l5 !== (l5 = l5.replace(/(PointerCapture)$|Capture$/, "$1")), l5 = l5.toLowerCase() in n3 ? l5.toLowerCase().slice(2) : l5.slice(2), n3.l || (n3.l = {}), n3.l[l5 + o4] = u4, u4 ? t4 ? u4.u = t4.u : (u4.u = Date.now(), n3.addEventListener(l5, o4 ? j : T, o4)) : n3.removeEventListener(l5, o4 ? j : T, o4);
19885
- else if ("dangerouslySetInnerHTML" !== l5) {
19886
- if (i4)
19887
- l5 = l5.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
19888
- else if ("width" !== l5 && "height" !== l5 && "href" !== l5 && "list" !== l5 && "form" !== l5 && "tabIndex" !== l5 && "download" !== l5 && "rowSpan" !== l5 && "colSpan" !== l5 && "role" !== l5 && l5 in n3)
19889
- try {
19890
- n3[l5] = null == u4 ? "" : u4;
19891
- break n;
19892
- } catch (n4) {
19893
- }
19894
- "function" == typeof u4 || (null == u4 || false === u4 && "-" !== l5[4] ? n3.removeAttribute(l5) : n3.setAttribute(l5, u4));
19895
- }
19872
+ if ("style" === l5)
19873
+ if ("string" == typeof u4)
19874
+ n3.style.cssText = u4;
19875
+ else {
19876
+ if ("string" == typeof t4 && (n3.style.cssText = t4 = ""), t4)
19877
+ for (l5 in t4)
19878
+ u4 && l5 in u4 || H(n3.style, l5, "");
19879
+ if (u4)
19880
+ for (l5 in u4)
19881
+ t4 && u4[l5] === t4[l5] || H(n3.style, l5, u4[l5]);
19882
+ }
19883
+ else if ("o" === l5[0] && "n" === l5[1])
19884
+ o4 = l5 !== (l5 = l5.replace(/(PointerCapture)$|Capture$/, "$1")), l5 = l5.toLowerCase() in n3 ? l5.toLowerCase().slice(2) : l5.slice(2), n3.l || (n3.l = {}), n3.l[l5 + o4] = u4, u4 ? t4 ? u4.u = t4.u : (u4.u = Date.now(), n3.addEventListener(l5, o4 ? j : T, o4)) : n3.removeEventListener(l5, o4 ? j : T, o4);
19885
+ else if ("dangerouslySetInnerHTML" !== l5) {
19886
+ if (i4)
19887
+ l5 = l5.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
19888
+ else if ("width" !== l5 && "height" !== l5 && "href" !== l5 && "list" !== l5 && "form" !== l5 && "tabIndex" !== l5 && "download" !== l5 && "rowSpan" !== l5 && "colSpan" !== l5 && "role" !== l5 && l5 in n3)
19889
+ try {
19890
+ n3[l5] = null == u4 ? "" : u4;
19891
+ break n;
19892
+ } catch (n4) {
19893
+ }
19894
+ "function" == typeof u4 || (null == u4 || false === u4 && "-" !== l5[4] ? n3.removeAttribute(l5) : n3.setAttribute(l5, u4));
19895
+ }
19896
19896
  }
19897
19897
  function T(n3) {
19898
19898
  var u4 = this.l[n3.type + false];
@@ -19912,45 +19912,45 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19912
19912
  return null;
19913
19913
  null != t4.__h && (c4 = t4.__h, e4 = u4.__e = t4.__e, u4.__h = null, r6 = [e4]), (a4 = l2.__b) && a4(u4);
19914
19914
  n:
19915
- if ("function" == typeof I3)
19916
- try {
19917
- if (w4 = u4.props, x3 = (a4 = I3.contextType) && i4[a4.__c], $3 = a4 ? x3 ? x3.props.value : a4.__ : i4, t4.__c ? m4 = (p4 = u4.__c = t4.__c).__ = p4.__E : ("prototype" in I3 && I3.prototype.render ? u4.__c = p4 = new I3(w4, $3) : (u4.__c = p4 = new b(w4, $3), p4.constructor = I3, p4.render = q), x3 && x3.sub(p4), p4.props = w4, p4.state || (p4.state = {}), p4.context = $3, p4.__n = i4, y3 = p4.__d = true, p4.__h = [], p4._sb = []), null == p4.__s && (p4.__s = p4.state), null != I3.getDerivedStateFromProps && (p4.__s == p4.state && (p4.__s = h({}, p4.__s)), h(p4.__s, I3.getDerivedStateFromProps(w4, p4.__s))), d4 = p4.props, _3 = p4.state, p4.__v = u4, y3)
19918
- null == I3.getDerivedStateFromProps && null != p4.componentWillMount && p4.componentWillMount(), null != p4.componentDidMount && p4.__h.push(p4.componentDidMount);
19919
- else {
19920
- if (null == I3.getDerivedStateFromProps && w4 !== d4 && null != p4.componentWillReceiveProps && p4.componentWillReceiveProps(w4, $3), !p4.__e && (null != p4.shouldComponentUpdate && false === p4.shouldComponentUpdate(w4, p4.__s, $3) || u4.__v === t4.__v)) {
19921
- for (u4.__v !== t4.__v && (p4.props = w4, p4.state = p4.__s, p4.__d = false), u4.__e = t4.__e, u4.__k = t4.__k, u4.__k.forEach(function(n4) {
19922
- n4 && (n4.__ = u4);
19923
- }), C3 = 0; C3 < p4._sb.length; C3++)
19924
- p4.__h.push(p4._sb[C3]);
19925
- p4._sb = [], p4.__h.length && f4.push(p4);
19926
- break n;
19927
- }
19928
- null != p4.componentWillUpdate && p4.componentWillUpdate(w4, p4.__s, $3), null != p4.componentDidUpdate && p4.__h.push(function() {
19929
- p4.componentDidUpdate(d4, _3, g4);
19930
- });
19915
+ if ("function" == typeof I3)
19916
+ try {
19917
+ if (w4 = u4.props, x3 = (a4 = I3.contextType) && i4[a4.__c], $3 = a4 ? x3 ? x3.props.value : a4.__ : i4, t4.__c ? m4 = (p4 = u4.__c = t4.__c).__ = p4.__E : ("prototype" in I3 && I3.prototype.render ? u4.__c = p4 = new I3(w4, $3) : (u4.__c = p4 = new b(w4, $3), p4.constructor = I3, p4.render = q), x3 && x3.sub(p4), p4.props = w4, p4.state || (p4.state = {}), p4.context = $3, p4.__n = i4, y3 = p4.__d = true, p4.__h = [], p4._sb = []), null == p4.__s && (p4.__s = p4.state), null != I3.getDerivedStateFromProps && (p4.__s == p4.state && (p4.__s = h({}, p4.__s)), h(p4.__s, I3.getDerivedStateFromProps(w4, p4.__s))), d4 = p4.props, _3 = p4.state, p4.__v = u4, y3)
19918
+ null == I3.getDerivedStateFromProps && null != p4.componentWillMount && p4.componentWillMount(), null != p4.componentDidMount && p4.__h.push(p4.componentDidMount);
19919
+ else {
19920
+ if (null == I3.getDerivedStateFromProps && w4 !== d4 && null != p4.componentWillReceiveProps && p4.componentWillReceiveProps(w4, $3), !p4.__e && (null != p4.shouldComponentUpdate && false === p4.shouldComponentUpdate(w4, p4.__s, $3) || u4.__v === t4.__v)) {
19921
+ for (u4.__v !== t4.__v && (p4.props = w4, p4.state = p4.__s, p4.__d = false), u4.__e = t4.__e, u4.__k = t4.__k, u4.__k.forEach(function (n4) {
19922
+ n4 && (n4.__ = u4);
19923
+ }), C3 = 0; C3 < p4._sb.length; C3++)
19924
+ p4.__h.push(p4._sb[C3]);
19925
+ p4._sb = [], p4.__h.length && f4.push(p4);
19926
+ break n;
19931
19927
  }
19932
- if (p4.context = $3, p4.props = w4, p4.__P = n3, p4.__e = false, S3 = l2.__r, A3 = 0, "prototype" in I3 && I3.prototype.render) {
19933
- for (p4.state = p4.__s, p4.__d = false, S3 && S3(u4), a4 = p4.render(p4.props, p4.state, p4.context), D3 = 0; D3 < p4._sb.length; D3++)
19934
- p4.__h.push(p4._sb[D3]);
19935
- p4._sb = [];
19936
- } else
19937
- do {
19938
- p4.__d = false, S3 && S3(u4), a4 = p4.render(p4.props, p4.state, p4.context), p4.state = p4.__s;
19939
- } while (p4.__d && ++A3 < 25);
19940
- p4.state = p4.__s, null != p4.getChildContext && (i4 = h(h({}, i4), p4.getChildContext())), y3 || null == p4.getSnapshotBeforeUpdate || (g4 = p4.getSnapshotBeforeUpdate(d4, _3)), P(n3, v(H3 = null != a4 && a4.type === k && null == a4.key ? a4.props.children : a4) ? H3 : [H3], u4, t4, i4, o4, r6, f4, e4, c4, s5), p4.base = u4.__e, u4.__h = null, p4.__h.length && f4.push(p4), m4 && (p4.__E = p4.__ = null);
19941
- } catch (n4) {
19942
- u4.__v = null, (c4 || null != r6) && (u4.__e = e4, u4.__h = !!c4, r6[r6.indexOf(e4)] = null), l2.__e(n4, u4, t4);
19928
+ null != p4.componentWillUpdate && p4.componentWillUpdate(w4, p4.__s, $3), null != p4.componentDidUpdate && p4.__h.push(function () {
19929
+ p4.componentDidUpdate(d4, _3, g4);
19930
+ });
19943
19931
  }
19944
- else
19945
- null == r6 && u4.__v === t4.__v ? (u4.__k = t4.__k, u4.__e = t4.__e) : u4.__e = M(t4.__e, u4, t4, i4, o4, r6, f4, c4, s5);
19932
+ if (p4.context = $3, p4.props = w4, p4.__P = n3, p4.__e = false, S3 = l2.__r, A3 = 0, "prototype" in I3 && I3.prototype.render) {
19933
+ for (p4.state = p4.__s, p4.__d = false, S3 && S3(u4), a4 = p4.render(p4.props, p4.state, p4.context), D3 = 0; D3 < p4._sb.length; D3++)
19934
+ p4.__h.push(p4._sb[D3]);
19935
+ p4._sb = [];
19936
+ } else
19937
+ do {
19938
+ p4.__d = false, S3 && S3(u4), a4 = p4.render(p4.props, p4.state, p4.context), p4.state = p4.__s;
19939
+ } while (p4.__d && ++A3 < 25);
19940
+ p4.state = p4.__s, null != p4.getChildContext && (i4 = h(h({}, i4), p4.getChildContext())), y3 || null == p4.getSnapshotBeforeUpdate || (g4 = p4.getSnapshotBeforeUpdate(d4, _3)), P(n3, v(H3 = null != a4 && a4.type === k && null == a4.key ? a4.props.children : a4) ? H3 : [H3], u4, t4, i4, o4, r6, f4, e4, c4, s5), p4.base = u4.__e, u4.__h = null, p4.__h.length && f4.push(p4), m4 && (p4.__E = p4.__ = null);
19941
+ } catch (n4) {
19942
+ u4.__v = null, (c4 || null != r6) && (u4.__e = e4, u4.__h = !!c4, r6[r6.indexOf(e4)] = null), l2.__e(n4, u4, t4);
19943
+ }
19944
+ else
19945
+ null == r6 && u4.__v === t4.__v ? (u4.__k = t4.__k, u4.__e = t4.__e) : u4.__e = M(t4.__e, u4, t4, i4, o4, r6, f4, c4, s5);
19946
19946
  (a4 = l2.diffed) && a4(u4);
19947
19947
  }
19948
19948
  function L(n3, u4, t4) {
19949
19949
  for (var i4 = 0; i4 < t4.length; i4++)
19950
19950
  N(t4[i4], t4[++i4], t4[++i4]);
19951
- l2.__c && l2.__c(u4, n3), n3.some(function(u5) {
19951
+ l2.__c && l2.__c(u4, n3), n3.some(function (u5) {
19952
19952
  try {
19953
- n3 = u5.__h, u5.__h = [], n3.some(function(n4) {
19953
+ n3 = u5.__h, u5.__h = [], n3.some(function (n4) {
19954
19954
  n4.call(u5);
19955
19955
  });
19956
19956
  } catch (n4) {
@@ -19984,7 +19984,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
19984
19984
  if (D(l5, _3, d4, o4, e4), y3)
19985
19985
  u4.__k = [];
19986
19986
  else if (P(l5, v(b4 = u4.props.children) ? b4 : [b4], u4, t4, i4, o4 && "foreignObject" !== k4, r6, f4, r6 ? r6[0] : t4.__k && g(t4, 0), e4, s5), null != r6)
19987
- for (b4 = r6.length; b4--; )
19987
+ for (b4 = r6.length; b4--;)
19988
19988
  null != r6[b4] && p(r6[b4]);
19989
19989
  e4 || ("value" in _3 && void 0 !== (b4 = _3.value) && (b4 !== l5.value || "progress" === k4 && !b4 || "option" === k4 && b4 !== d4.value) && I(l5, "value", b4, d4.value, false), "checked" in _3 && void 0 !== (b4 = _3.checked) && b4 !== l5.checked && I(l5, "checked", b4, d4.checked, false));
19990
19990
  }
@@ -20026,24 +20026,26 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
20026
20026
  "key" == r6 ? i4 = u4[r6] : "ref" == r6 ? o4 = u4[r6] : e4[r6] = void 0 === u4[r6] && void 0 !== f4 ? f4[r6] : u4[r6];
20027
20027
  return arguments.length > 2 && (e4.children = arguments.length > 3 ? n.call(arguments, 2) : t4), d(l5.type, e4, i4 || l5.key, o4 || l5.ref, null);
20028
20028
  }
20029
- n = s2.slice, l2 = { __e: function(n3, l5, u4, t4) {
20030
- for (var i4, o4, r6; l5 = l5.__; )
20031
- if ((i4 = l5.__c) && !i4.__)
20032
- try {
20033
- if ((o4 = i4.constructor) && null != o4.getDerivedStateFromError && (i4.setState(o4.getDerivedStateFromError(n3)), r6 = i4.__d), null != i4.componentDidCatch && (i4.componentDidCatch(n3, t4 || {}), r6 = i4.__d), r6)
20034
- return i4.__E = i4;
20035
- } catch (l6) {
20036
- n3 = l6;
20037
- }
20038
- throw n3;
20039
- } }, u = 0, t = function(n3) {
20029
+ n = s2.slice, l2 = {
20030
+ __e: function (n3, l5, u4, t4) {
20031
+ for (var i4, o4, r6; l5 = l5.__;)
20032
+ if ((i4 = l5.__c) && !i4.__)
20033
+ try {
20034
+ if ((o4 = i4.constructor) && null != o4.getDerivedStateFromError && (i4.setState(o4.getDerivedStateFromError(n3)), r6 = i4.__d), null != i4.componentDidCatch && (i4.componentDidCatch(n3, t4 || {}), r6 = i4.__d), r6)
20035
+ return i4.__E = i4;
20036
+ } catch (l6) {
20037
+ n3 = l6;
20038
+ }
20039
+ throw n3;
20040
+ }
20041
+ }, u = 0, t = function (n3) {
20040
20042
  return null != n3 && void 0 === n3.constructor;
20041
- }, b.prototype.setState = function(n3, l5) {
20043
+ }, b.prototype.setState = function (n3, l5) {
20042
20044
  var u4;
20043
20045
  u4 = null != this.__s && this.__s !== this.state ? this.__s : this.__s = h({}, this.state), "function" == typeof n3 && (n3 = n3(h({}, u4), this.props)), n3 && h(u4, n3), null != n3 && this.__v && (l5 && this._sb.push(l5), w(this));
20044
- }, b.prototype.forceUpdate = function(n3) {
20046
+ }, b.prototype.forceUpdate = function (n3) {
20045
20047
  this.__v && (this.__e = true, n3 && this.__h.push(n3), w(this));
20046
- }, b.prototype.render = k, i = [], r3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, f = function(n3, l5) {
20048
+ }, b.prototype.render = k, i = [], r3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, f = function (n3, l5) {
20047
20049
  return n3.__v.__b - l5.__v.__b;
20048
20050
  }, x.__r = 0, e = 0;
20049
20051
 
@@ -20167,7 +20169,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
20167
20169
  function debounce2(fn2) {
20168
20170
  let calling = null;
20169
20171
  let latestArgs = null;
20170
- return function() {
20172
+ return function () {
20171
20173
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
20172
20174
  args[_key] = arguments[_key];
20173
20175
  }
@@ -20676,7 +20678,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
20676
20678
  numUploads
20677
20679
  } = props;
20678
20680
  function displayErrorAlert() {
20679
- const errorMessage = `${i18n("uploadFailed")}
20681
+ const errorMessage = `${i18n("uploadFailed")}
20680
20682
 
20681
20683
  ${error2}`;
20682
20684
  alert(errorMessage);
@@ -21476,7 +21478,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21476
21478
  "data-microtip-position": "top-left",
21477
21479
  "data-microtip-size": "medium",
21478
21480
  role: "tooltip",
21479
- onClick: () => alert(`${info.message}
21481
+ onClick: () => alert(`${info.message}
21480
21482
 
21481
21483
  ${info.details}`)
21482
21484
  }, "?"))))));
@@ -21559,7 +21561,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21559
21561
  throw delete t4.stack, t4;
21560
21562
  }
21561
21563
  function o2(e4) {
21562
- let t4 = function(e5) {
21564
+ let t4 = function (e5) {
21563
21565
  let t5 = 0;
21564
21566
  return e5.ifd0.enabled && (t5 += 1024), e5.exif.enabled && (t5 += 2048), e5.makerNote && (t5 += 2048), e5.userComment && (t5 += 1024), e5.gps.enabled && (t5 += 512), e5.interop.enabled && (t5 += 100), e5.ifd1.enabled && (t5 += 1024), t5 + 2048;
21565
21567
  }(e4);
@@ -21615,7 +21617,6 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21615
21617
  getString(e4 = 0, t4 = this.byteLength) {
21616
21618
  let s5 = this.getUint8Array(e4, t4);
21617
21619
  return i4 = s5, d2 ? d2.decode(i4) : a2 ? Buffer.from(i4).toString("utf8") : decodeURIComponent(escape(u2(i4)));
21618
- var i4;
21619
21620
  }
21620
21621
  getLatin1String(e4 = 0, t4 = this.byteLength) {
21621
21622
  let s5 = this.getUint8Array(e4, t4);
@@ -21695,7 +21696,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21695
21696
  super(), this.kind = e4;
21696
21697
  }
21697
21698
  get(e4, t4) {
21698
- return this.has(e4) || p2(this.kind, e4), t4 && (e4 in t4 || function(e5, t5) {
21699
+ return this.has(e4) || p2(this.kind, e4), t4 && (e4 in t4 || function (e5, t5) {
21699
21700
  l3(`Unknown ${e5} '${t5}'.`);
21700
21701
  }(this.kind, e4), t4[e4].enabled || p2(this.kind, e4)), super.get(e4);
21701
21702
  }
@@ -21709,10 +21710,9 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21709
21710
  var w2 = t2.fetch;
21710
21711
  function k2(e4, t4) {
21711
21712
  return (i4 = e4).startsWith("data:") || i4.length > 1e4 ? v2(e4, t4, "base64") : n2 && e4.includes("://") ? O2(e4, t4, "url", S2) : n2 ? v2(e4, t4, "fs") : s3 ? O2(e4, t4, "url", S2) : void l3("Invalid input argument");
21712
- var i4;
21713
21713
  }
21714
21714
  async function O2(e4, t4, s5, i4) {
21715
- return b2.has(s5) ? v2(e4, t4, s5) : i4 ? async function(e5, t5) {
21715
+ return b2.has(s5) ? v2(e4, t4, s5) : i4 ? async function (e5, t5) {
21716
21716
  let s6 = await t5(e5);
21717
21717
  return new c2(s6);
21718
21718
  }(e4, i4) : void l3(`Parser ${s5} is not loaded`);
@@ -21922,7 +21922,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21922
21922
  e2(this, "parsers", {}), e2(this, "output", {}), e2(this, "errors", []), e2(this, "pushToErrors", (e4) => this.errors.push(e4)), this.options = R.useCached(t4);
21923
21923
  }
21924
21924
  async read(e4) {
21925
- this.file = await function(e5, t4) {
21925
+ this.file = await function (e5, t4) {
21926
21926
  return "string" == typeof e5 ? k2(e5, t4) : s3 && !i2 && e5 instanceof HTMLImageElement ? k2(e5.src, t4) : e5 instanceof Uint8Array || e5 instanceof ArrayBuffer || e5 instanceof DataView ? new c2(e5) : s3 && e5 instanceof Blob ? O2(e5, t4, "blob", A2) : void l3("Invalid input argument");
21927
21927
  }(e4, this.options);
21928
21928
  }
@@ -21938,7 +21938,6 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
21938
21938
  async parse() {
21939
21939
  let { output: e4, errors: t4 } = this;
21940
21940
  return this.setup(), this.options.silentErrors ? (await this.executeParsers().catch(this.pushToErrors), t4.push(...this.fileParser.errors)) : await this.executeParsers(), this.file.close && this.file.close(), this.options.silentErrors && t4.length > 0 && (e4.errors = t4), f2(s5 = e4) ? void 0 : s5;
21941
- var s5;
21942
21941
  }
21943
21942
  async executeParsers() {
21944
21943
  let { output: e4 } = this;
@@ -22077,7 +22076,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
22077
22076
  return t5.multiSegment && s6.multiSegment;
22078
22077
  }), i4 && await this.file.readWhole()), e4 = this.findAppSegmentsInRange(e4, s5.byteLength), !this.options.onlyTiff && s5.chunked) {
22079
22078
  let t5 = false;
22080
- for (; r6.size > 0 && !t5 && (s5.canReadNextChunk || this.unfinishedMultiSegment); ) {
22079
+ for (; r6.size > 0 && !t5 && (s5.canReadNextChunk || this.unfinishedMultiSegment);) {
22081
22080
  let { nextChunkOffset: i5 } = s5, n4 = this.appSegments.some((e5) => !this.file.available(e5.offset || e5.start, e5.length || e5.size));
22082
22081
  if (t5 = e4 > i5 && !n4 ? !await s5.readNextChunk(e4) : !await s5.readNextChunk(i5), void 0 === (e4 = this.findAppSegmentsInRange(e4, s5.byteLength)))
22083
22082
  return;
@@ -22104,7 +22103,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
22104
22103
  mergeMultiSegments() {
22105
22104
  if (!this.appSegments.some((e5) => e5.multiSegment))
22106
22105
  return;
22107
- let e4 = function(e5, t4) {
22106
+ let e4 = function (e5, t4) {
22108
22107
  let s5, i4, n3, r6 = /* @__PURE__ */ new Map();
22109
22108
  for (let a4 = 0; a4 < e5.length; a4++)
22110
22109
  s5 = e5[a4], i4 = s5[t4], r6.has(i4) ? n3 = r6.get(i4) : r6.set(i4, n3 = []), n3.push(s5);
@@ -22154,8 +22153,8 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
22154
22153
  if (a4 * r6 <= 4 ? e4 += 8 : e4 = i4.getUint32(e4 + 8), (n3 < 1 || n3 > 13) && l3(`Invalid TIFF value type. block: ${s5.toUpperCase()}, tag: ${t4.toString(16)}, type: ${n3}, offset ${e4}`), e4 > i4.byteLength && l3(`Invalid TIFF value offset. block: ${s5.toUpperCase()}, tag: ${t4.toString(16)}, type: ${n3}, offset ${e4} is outside of chunk size ${i4.byteLength}`), 1 === n3)
22155
22154
  return i4.getUint8Array(e4, r6);
22156
22155
  if (2 === n3)
22157
- return "" === (h4 = function(e5) {
22158
- for (; e5.endsWith("\0"); )
22156
+ return "" === (h4 = function (e5) {
22157
+ for (; e5.endsWith("\0");)
22159
22158
  e5 = e5.slice(0, -1);
22160
22159
  return e5;
22161
22160
  }(h4 = i4.getString(e4, r6)).trim()) ? void 0 : h4;
@@ -22165,7 +22164,7 @@ Uppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#
22165
22164
  if (1 === r6)
22166
22165
  return this.parseTagValue(n3, e4);
22167
22166
  {
22168
- let t5 = new (function(e5) {
22167
+ let t5 = new (function (e5) {
22169
22168
  switch (e5) {
22170
22169
  case 1:
22171
22170
  return Uint8Array;
@@ -23045,7 +23044,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23045
23044
  }
23046
23045
 
23047
23046
  // node_modules/p-queue/dist/priority-queue.js
23048
- var __classPrivateFieldGet = function(receiver, state, kind, f4) {
23047
+ var __classPrivateFieldGet = function (receiver, state, kind, f4) {
23049
23048
  if (kind === "a" && !f4)
23050
23049
  throw new TypeError("Private accessor was defined without a getter");
23051
23050
  if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver))
@@ -23088,7 +23087,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23088
23087
  var priority_queue_default = PriorityQueue;
23089
23088
 
23090
23089
  // node_modules/p-queue/dist/index.js
23091
- var __classPrivateFieldSet = function(receiver, state, value, kind, f4) {
23090
+ var __classPrivateFieldSet = function (receiver, state, value, kind, f4) {
23092
23091
  if (kind === "m")
23093
23092
  throw new TypeError("Private method is not writable");
23094
23093
  if (kind === "a" && !f4)
@@ -23097,7 +23096,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23097
23096
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
23098
23097
  return kind === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value;
23099
23098
  };
23100
- var __classPrivateFieldGet2 = function(receiver, state, kind, f4) {
23099
+ var __classPrivateFieldGet2 = function (receiver, state, kind, f4) {
23101
23100
  if (kind === "a" && !f4)
23102
23101
  throw new TypeError("Private accessor was defined without a getter");
23103
23102
  if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver))
@@ -23263,7 +23262,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23263
23262
  }
23264
23263
  /**
23265
23264
  Can be called multiple times. Useful if you for example add additional items at a later time.
23266
-
23265
+
23267
23266
  @returns A promise that settles when the queue becomes empty.
23268
23267
  */
23269
23268
  async onEmpty() {
@@ -23274,9 +23273,9 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23274
23273
  }
23275
23274
  /**
23276
23275
  @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.
23277
-
23276
+
23278
23277
  If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.
23279
-
23278
+
23280
23279
  Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.
23281
23280
  */
23282
23281
  async onSizeLessThan(limit) {
@@ -23287,7 +23286,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23287
23286
  }
23288
23287
  /**
23289
23288
  The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.
23290
-
23289
+
23291
23290
  @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.
23292
23291
  */
23293
23292
  async onIdle() {
@@ -23304,7 +23303,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23304
23303
  }
23305
23304
  /**
23306
23305
  Size of the queue, filtered by the given options.
23307
-
23306
+
23308
23307
  For example, this can be used to find the number of items remaining in the queue with a specific priority level.
23309
23308
  */
23310
23309
  sizeBy(options) {
@@ -23592,22 +23591,22 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23592
23591
  }
23593
23592
  function s4(n3, u4, i4) {
23594
23593
  var o4 = d3(t3++, 2);
23595
- if (o4.t = n3, !o4.__c && (o4.__ = [i4 ? i4(u4) : B3(void 0, u4), function(n4) {
23594
+ if (o4.t = n3, !o4.__c && (o4.__ = [i4 ? i4(u4) : B3(void 0, u4), function (n4) {
23596
23595
  var t4 = o4.__N ? o4.__N[0] : o4.__[0], r6 = o4.t(t4, n4);
23597
23596
  t4 !== r6 && (o4.__N = [r6, o4.__[1]], o4.__c.setState({}));
23598
23597
  }], o4.__c = r5, !r5.u)) {
23599
- var f4 = function(n4, t4, r6) {
23598
+ var f4 = function (n4, t4, r6) {
23600
23599
  if (!o4.__c.__H)
23601
23600
  return true;
23602
- var u5 = o4.__c.__H.__.filter(function(n5) {
23601
+ var u5 = o4.__c.__H.__.filter(function (n5) {
23603
23602
  return n5.__c;
23604
23603
  });
23605
- if (u5.every(function(n5) {
23604
+ if (u5.every(function (n5) {
23606
23605
  return !n5.__N;
23607
23606
  }))
23608
23607
  return !c4 || c4.call(this, n4, t4, r6);
23609
23608
  var i5 = false;
23610
- return u5.forEach(function(n5) {
23609
+ return u5.forEach(function (n5) {
23611
23610
  if (n5.__N) {
23612
23611
  var t5 = n5.__[0];
23613
23612
  n5.__ = n5.__N, n5.__N = void 0, t5 !== n5.__[0] && (i5 = true);
@@ -23616,7 +23615,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23616
23615
  };
23617
23616
  r5.u = true;
23618
23617
  var c4 = r5.shouldComponentUpdate, e4 = r5.componentWillUpdate;
23619
- r5.componentWillUpdate = function(n4, t4, r6) {
23618
+ r5.componentWillUpdate = function (n4, t4, r6) {
23620
23619
  if (this.__e) {
23621
23620
  var u5 = c4;
23622
23621
  c4 = void 0, f4(n4, t4, r6), c4 = u5;
@@ -23635,12 +23634,12 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23635
23634
  return z3(u4.__H, r6) ? (u4.__V = n3(), u4.i = r6, u4.__h = n3, u4.__V) : u4.__;
23636
23635
  }
23637
23636
  function T3(n3, t4) {
23638
- return o3 = 8, F3(function() {
23637
+ return o3 = 8, F3(function () {
23639
23638
  return n3;
23640
23639
  }, t4);
23641
23640
  }
23642
23641
  function b3() {
23643
- for (var t4; t4 = f3.shift(); )
23642
+ for (var t4; t4 = f3.shift();)
23644
23643
  if (t4.__P && t4.__H)
23645
23644
  try {
23646
23645
  t4.__H.__h.forEach(k3), t4.__H.__h.forEach(w3), t4.__H.__h = [];
@@ -23648,36 +23647,36 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23648
23647
  t4.__H.__h = [], l2.__e(r6, t4.__v);
23649
23648
  }
23650
23649
  }
23651
- l2.__b = function(n3) {
23650
+ l2.__b = function (n3) {
23652
23651
  r5 = null, e3 && e3(n3);
23653
- }, l2.__r = function(n3) {
23652
+ }, l2.__r = function (n3) {
23654
23653
  a3 && a3(n3), t3 = 0;
23655
23654
  var i4 = (r5 = n3.__c).__H;
23656
- i4 && (u3 === r5 ? (i4.__h = [], r5.__h = [], i4.__.forEach(function(n4) {
23655
+ i4 && (u3 === r5 ? (i4.__h = [], r5.__h = [], i4.__.forEach(function (n4) {
23657
23656
  n4.__N && (n4.__ = n4.__N), n4.__V = c3, n4.__N = n4.i = void 0;
23658
23657
  })) : (i4.__h.forEach(k3), i4.__h.forEach(w3), i4.__h = [], t3 = 0)), u3 = r5;
23659
- }, l2.diffed = function(t4) {
23658
+ }, l2.diffed = function (t4) {
23660
23659
  v3 && v3(t4);
23661
23660
  var o4 = t4.__c;
23662
- o4 && o4.__H && (o4.__H.__h.length && (1 !== f3.push(o4) && i3 === l2.requestAnimationFrame || ((i3 = l2.requestAnimationFrame) || j3)(b3)), o4.__H.__.forEach(function(n3) {
23661
+ o4 && o4.__H && (o4.__H.__h.length && (1 !== f3.push(o4) && i3 === l2.requestAnimationFrame || ((i3 = l2.requestAnimationFrame) || j3)(b3)), o4.__H.__.forEach(function (n3) {
23663
23662
  n3.i && (n3.__H = n3.i), n3.__V !== c3 && (n3.__ = n3.__V), n3.i = void 0, n3.__V = c3;
23664
23663
  })), u3 = r5 = null;
23665
- }, l2.__c = function(t4, r6) {
23666
- r6.some(function(t5) {
23664
+ }, l2.__c = function (t4, r6) {
23665
+ r6.some(function (t5) {
23667
23666
  try {
23668
- t5.__h.forEach(k3), t5.__h = t5.__h.filter(function(n3) {
23667
+ t5.__h.forEach(k3), t5.__h = t5.__h.filter(function (n3) {
23669
23668
  return !n3.__ || w3(n3);
23670
23669
  });
23671
23670
  } catch (u4) {
23672
- r6.some(function(n3) {
23671
+ r6.some(function (n3) {
23673
23672
  n3.__h && (n3.__h = []);
23674
23673
  }), r6 = [], l2.__e(u4, t5.__v);
23675
23674
  }
23676
23675
  }), l4 && l4(t4, r6);
23677
- }, l2.unmount = function(t4) {
23676
+ }, l2.unmount = function (t4) {
23678
23677
  m3 && m3(t4);
23679
23678
  var r6, u4 = t4.__c;
23680
- u4 && u4.__H && (u4.__H.__.forEach(function(n3) {
23679
+ u4 && u4.__H && (u4.__H.__.forEach(function (n3) {
23681
23680
  try {
23682
23681
  k3(n3);
23683
23682
  } catch (n4) {
@@ -23687,7 +23686,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23687
23686
  };
23688
23687
  var g3 = "function" == typeof requestAnimationFrame;
23689
23688
  function j3(n3) {
23690
- var t4, r6 = function() {
23689
+ var t4, r6 = function () {
23691
23690
  clearTimeout(u4), g3 && cancelAnimationFrame(t4), setTimeout(n3);
23692
23691
  }, u4 = setTimeout(r6, 100);
23693
23692
  g3 && (t4 = requestAnimationFrame(r6));
@@ -23701,7 +23700,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23701
23700
  n3.__c = n3.__(), r5 = t4;
23702
23701
  }
23703
23702
  function z3(n3, t4) {
23704
- return !n3 || n3.length !== t4.length || t4.some(function(t5, r6) {
23703
+ return !n3 || n3.length !== t4.length || t4.some(function (t5, r6) {
23705
23704
  return t5 !== n3[r6];
23706
23705
  });
23707
23706
  }
@@ -23711,7 +23710,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23711
23710
 
23712
23711
  // node_modules/@uppy/utils/lib/VirtualList.js
23713
23712
  function _extends() {
23714
- _extends = Object.assign ? Object.assign.bind() : function(target) {
23713
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
23715
23714
  for (var i4 = 1; i4 < arguments.length; i4++) {
23716
23715
  var source = arguments[i4];
23717
23716
  for (var key in source) {
@@ -24117,7 +24116,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
24117
24116
 
24118
24117
  // node_modules/@uppy/provider-views/lib/Item/index.js
24119
24118
  function _extends2() {
24120
- _extends2 = Object.assign ? Object.assign.bind() : function(target) {
24119
+ _extends2 = Object.assign ? Object.assign.bind() : function (target) {
24121
24120
  for (var i4 = 1; i4 < arguments.length; i4++) {
24122
24121
  var source = arguments[i4];
24123
24122
  for (var key in source) {
@@ -24955,7 +24954,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
24955
24954
  pluginIcon,
24956
24955
  i18n: this.plugin.uppy.i18n,
24957
24956
  uppyFiles: this.plugin.uppy.getFiles(),
24958
- validateRestrictions: function() {
24957
+ validateRestrictions: function () {
24959
24958
  return _this.plugin.uppy.validateRestrictions(...arguments);
24960
24959
  }
24961
24960
  };
@@ -25256,7 +25255,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
25256
25255
  pluginIcon: this.plugin.icon,
25257
25256
  i18n,
25258
25257
  uppyFiles: this.plugin.uppy.getFiles(),
25259
- validateRestrictions: function() {
25258
+ validateRestrictions: function () {
25260
25259
  return _this.plugin.uppy.validateRestrictions(...arguments);
25261
25260
  }
25262
25261
  };
@@ -27178,7 +27177,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
27178
27177
 
27179
27178
  // node_modules/@uppy/dashboard/lib/components/Dashboard.js
27180
27179
  function _extends3() {
27181
- _extends3 = Object.assign ? Object.assign.bind() : function(target) {
27180
+ _extends3 = Object.assign ? Object.assign.bind() : function (target) {
27182
27181
  for (var i4 = 1; i4 < arguments.length; i4++) {
27183
27182
  var source = arguments[i4];
27184
27183
  for (var key in source) {
@@ -27610,7 +27609,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
27610
27609
  this.uppy.emit("dashboard:modal-open");
27611
27610
  return promise;
27612
27611
  };
27613
- this.closeModal = function(opts) {
27612
+ this.closeModal = function (opts) {
27614
27613
  if (opts === void 0) {
27615
27614
  opts = {};
27616
27615
  }
@@ -29052,7 +29051,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
29052
29051
  }
29053
29052
  onCancelAll(fileID, eventHandler) {
29054
29053
  var _this = this;
29055
- this.on("cancel-all", function() {
29054
+ this.on("cancel-all", function () {
29056
29055
  if (!_classPrivateFieldLooseBase9(_this, _uppy)[_uppy].getFile(fileID))
29057
29056
  return;
29058
29057
  eventHandler(...arguments);
@@ -29484,7 +29483,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
29484
29483
  socket.send("pause", {});
29485
29484
  queuedRequest.abort();
29486
29485
  });
29487
- eventManager.onCancelAll(file.id, function(_temp) {
29486
+ eventManager.onCancelAll(file.id, function (_temp) {
29488
29487
  let {
29489
29488
  reason
29490
29489
  } = _temp === void 0 ? {} : _temp;
@@ -30010,7 +30009,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
30010
30009
  }
30011
30010
  wrapSyncFunction(fn2, queueOptions) {
30012
30011
  var _this = this;
30013
- return function() {
30012
+ return function () {
30014
30013
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30015
30014
  args[_key] = arguments[_key];
30016
30015
  }
@@ -30030,7 +30029,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
30030
30029
  }
30031
30030
  wrapPromiseFunction(fn2, queueOptions) {
30032
30031
  var _this2 = this;
30033
- return function() {
30032
+ return function () {
30034
30033
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
30035
30034
  args[_key2] = arguments[_key2];
30036
30035
  }
@@ -30631,7 +30630,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
30631
30630
  emitError(error2);
30632
30631
  return reject(error2);
30633
30632
  });
30634
- this.uppy.on("cancel-all", function(_temp) {
30633
+ this.uppy.on("cancel-all", function (_temp) {
30635
30634
  let {
30636
30635
  reason
30637
30636
  } = _temp === void 0 ? {} : _temp;
@@ -30828,7 +30827,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
30828
30827
  data-controller="attachment-preview" data-attachment-preview-mime-type-value="${mimeType}"
30829
30828
  data-attachment-preview-thumbnail-url-value="${thumbnailUrl}">
30830
30829
  <figure class="figure my-1" style="width: 160px;">
30831
- <div class="d-inline-block img-thumbnail" data-attachment-preview-target="thumbnail">
30830
+ <div class="bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700" data-attachment-preview-target="thumbnail">
30832
30831
  <a class="d-block text-decoration-none user-select-none fs-5 font-monospace text-body-secondary"
30833
30832
  style="width:150px; height:150px; line-height: 150px;" target="blank"
30834
30833
  href="${url}"
@@ -31076,7 +31075,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
31076
31075
  var form_controller_default = class extends Controller {
31077
31076
  static targets = ["focus"];
31078
31077
  connect() {
31079
- this.submit = (0, import_lodash.default)(this.submit, 1e3).bind(this);
31078
+ this.submit = (0, import_lodash.default)(this.submit, 250).bind(this);
31080
31079
  this._maybeFocusTarget();
31081
31080
  }
31082
31081
  submit() {
@@ -31162,7 +31161,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
31162
31161
  }
31163
31162
  }
31164
31163
  const $this = this;
31165
- this.quill.on("text-change", function(delta, oldDelta, source) {
31164
+ this.quill.on("text-change", function (delta, oldDelta, source) {
31166
31165
  $this.inputTarget.value = JSON.stringify($this.quill.getContents());
31167
31166
  });
31168
31167
  }
@@ -31348,7 +31347,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
31348
31347
  });
31349
31348
 
31350
31349
  // app/javascript/turbo/turbo_actions.js
31351
- Turbo.StreamActions.redirect = function() {
31350
+ Turbo.StreamActions.redirect = function () {
31352
31351
  Turbo.clearCache();
31353
31352
  const url = this.getAttribute("url");
31354
31353
  Turbo.visit(url);
@@ -31381,9 +31380,9 @@ dompurify/dist/purify.js:
31381
31380
 
31382
31381
  classnames/index.js:
31383
31382
  (*!
31384
- Copyright (c) 2018 Jed Watson.
31385
- Licensed under the MIT License (MIT), see
31386
- http://jedwatson.github.io/classnames
31383
+ Copyright (c) 2018 Jed Watson.
31384
+ Licensed under the MIT License (MIT), see
31385
+ http://jedwatson.github.io/classnames
31387
31386
  *)
31388
31387
 
31389
31388
  cropperjs/dist/cropper.js: