spree_admin 5.1.7 → 5.2.0.rc1

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 (601) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/spree/admin/application.scss +5 -2
  3. data/app/assets/stylesheets/spree/admin/components/_alerts.scss +26 -8
  4. data/app/assets/stylesheets/spree/admin/components/_badges.scss +4 -3
  5. data/app/assets/stylesheets/spree/admin/components/_bulk_panel.scss +11 -26
  6. data/app/assets/stylesheets/spree/admin/components/_buttons.scss +9 -18
  7. data/app/assets/stylesheets/spree/admin/components/_cards.scss +45 -24
  8. data/app/assets/stylesheets/spree/admin/components/_dialogs.scss +204 -0
  9. data/app/assets/stylesheets/spree/admin/components/_dropdowns.scss +39 -13
  10. data/app/assets/stylesheets/spree/admin/components/_filters.scss +28 -10
  11. data/app/assets/stylesheets/spree/admin/components/_main.scss +36 -17
  12. data/app/assets/stylesheets/spree/admin/components/_media_form.scss +11 -3
  13. data/app/assets/stylesheets/spree/admin/components/_modals.scss +1 -1
  14. data/app/assets/stylesheets/spree/admin/components/_navigation.scss +0 -1
  15. data/app/assets/stylesheets/spree/admin/components/_search_picker.scss +0 -8
  16. data/app/assets/stylesheets/spree/admin/components/_sortable_tree.scss +2 -1
  17. data/app/assets/stylesheets/spree/admin/components/_tables.scss +20 -26
  18. data/app/assets/stylesheets/spree/admin/components/_tooltips.scss +20 -0
  19. data/app/assets/stylesheets/spree/admin/components/_variants_form.scss +3 -3
  20. data/app/assets/stylesheets/spree/admin/components/_wizard.scss +27 -0
  21. data/app/assets/stylesheets/spree/admin/global/_variables.scss +61 -43
  22. data/app/assets/stylesheets/spree/admin/plugins/_trix_custom.scss +5 -0
  23. data/app/assets/stylesheets/spree/admin/plugins/tom-select.scss +1 -1
  24. data/app/assets/stylesheets/spree/admin/plugins/uppy_fixes.scss +52 -3
  25. data/app/assets/stylesheets/spree/admin/shared/_base.scss +18 -17
  26. data/app/assets/stylesheets/spree/admin/shared/_forms.scss +7 -4
  27. data/app/assets/stylesheets/spree/admin/views/_page_builder.scss +12 -12
  28. data/app/controllers/concerns/spree/admin/page_builder_concern.rb +4 -4
  29. data/app/controllers/concerns/spree/admin/settings_concern.rb +23 -0
  30. data/app/controllers/spree/admin/admin_users_controller.rb +21 -6
  31. data/app/controllers/spree/admin/assets_controller.rb +3 -5
  32. data/app/controllers/spree/admin/base_controller.rb +2 -1
  33. data/app/controllers/spree/admin/custom_domains_controller.rb +1 -1
  34. data/app/controllers/spree/admin/errors_controller.rb +17 -3
  35. data/app/controllers/spree/admin/exports_controller.rb +7 -1
  36. data/app/controllers/spree/admin/gift_cards_controller.rb +5 -11
  37. data/app/controllers/spree/admin/import_mappings_controller.rb +15 -0
  38. data/app/controllers/spree/admin/import_rows_controller.rb +7 -0
  39. data/app/controllers/spree/admin/imports_controller.rb +66 -0
  40. data/app/controllers/spree/admin/invitations_controller.rb +3 -4
  41. data/app/controllers/spree/admin/json_previews_controller.rb +24 -0
  42. data/app/controllers/spree/admin/metafield_definitions_controller.rb +27 -0
  43. data/app/controllers/spree/admin/metafields_controller.rb +39 -0
  44. data/app/controllers/spree/admin/newsletter_subscribers_controller.rb +8 -0
  45. data/app/controllers/spree/admin/oauth_applications_controller.rb +2 -2
  46. data/app/controllers/spree/admin/orders/user_controller.rb +16 -10
  47. data/app/controllers/spree/admin/orders_controller.rb +17 -3
  48. data/app/controllers/spree/admin/page_blocks_controller.rb +2 -1
  49. data/app/controllers/spree/admin/page_links_controller.rb +9 -1
  50. data/app/controllers/spree/admin/pages_controller.rb +1 -9
  51. data/app/controllers/spree/admin/payment_methods_controller.rb +1 -5
  52. data/app/controllers/spree/admin/policies_controller.rb +28 -0
  53. data/app/controllers/spree/admin/products_controller.rb +8 -5
  54. data/app/controllers/spree/admin/profile_controller.rb +2 -0
  55. data/app/controllers/spree/admin/refund_reasons_controller.rb +1 -1
  56. data/app/controllers/spree/admin/reimbursement_types_controller.rb +1 -1
  57. data/app/controllers/spree/admin/resource_controller.rb +60 -1
  58. data/app/controllers/spree/admin/return_authorization_reasons_controller.rb +1 -1
  59. data/app/controllers/spree/admin/return_authorizations_controller.rb +3 -0
  60. data/app/controllers/spree/admin/roles_controller.rb +1 -2
  61. data/app/controllers/spree/admin/shipping_categories_controller.rb +1 -1
  62. data/app/controllers/spree/admin/shipping_methods_controller.rb +2 -2
  63. data/app/controllers/spree/admin/stock_locations_controller.rb +2 -2
  64. data/app/controllers/spree/admin/store_credits_controller.rb +6 -0
  65. data/app/controllers/spree/admin/storefront_controller.rb +1 -1
  66. data/app/controllers/spree/admin/stores_controller.rb +8 -2
  67. data/app/controllers/spree/admin/tax_categories_controller.rb +1 -1
  68. data/app/controllers/spree/admin/tax_rates_controller.rb +2 -2
  69. data/app/controllers/spree/admin/translations_controller.rb +30 -50
  70. data/app/controllers/spree/admin/users_controller.rb +4 -0
  71. data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +2 -3
  72. data/app/controllers/spree/admin/zones_controller.rb +1 -1
  73. data/app/helpers/spree/admin/assets_helper.rb +42 -0
  74. data/app/helpers/spree/admin/base_helper.rb +58 -11
  75. data/app/helpers/spree/admin/bulk_operations_helper.rb +14 -12
  76. data/app/helpers/spree/admin/dialog_helper.rb +21 -0
  77. data/app/helpers/spree/admin/drawer_helper.rb +21 -0
  78. data/app/helpers/spree/admin/dropdown_helper.rb +32 -0
  79. data/app/helpers/spree/admin/json_preview_helper.rb +75 -0
  80. data/app/helpers/spree/admin/metafields_helper.rb +29 -0
  81. data/app/helpers/spree/admin/navigation_helper.rb +55 -23
  82. data/app/helpers/spree/admin/orders_filters_helper.rb +26 -17
  83. data/app/helpers/spree/admin/orders_helper.rb +9 -1
  84. data/app/helpers/spree/admin/page_builder_helper.rb +3 -8
  85. data/app/helpers/spree/admin/payments_helper.rb +2 -0
  86. data/app/helpers/spree/admin/products_helper.rb +0 -12
  87. data/app/helpers/spree/admin/translations_helper.rb +11 -4
  88. data/app/helpers/spree/admin/turbo_helper.rb +17 -4
  89. data/app/javascript/spree/admin/application.js +23 -5
  90. data/app/javascript/spree/admin/controllers/active_storage_upload_controller.js +41 -7
  91. data/app/javascript/spree/admin/controllers/admin_controller.js +0 -9
  92. data/app/javascript/spree/admin/controllers/auto_scroll_controller.js +33 -0
  93. data/app/javascript/spree/admin/controllers/codemirror_controller.js +45 -0
  94. data/app/javascript/spree/admin/controllers/highlight_controller.js +17 -0
  95. data/app/javascript/spree/admin/controllers/import_form_controller.js +27 -0
  96. data/app/javascript/spree/admin/controllers/sortable_auto_submit_controller.js +10 -0
  97. data/app/javascript/spree/admin/controllers/stock_transfer_controller.js +6 -5
  98. data/app/javascript/spree/admin/controllers/tabs_controller.js +21 -0
  99. data/app/javascript/spree/admin/controllers/tooltip_controller.js +136 -0
  100. data/app/javascript/spree/admin/controllers/turbo_submit_button_controller.js +14 -0
  101. data/app/javascript/spree/admin/helpers/bootstrap.js +5 -3
  102. data/app/models/spree/admin/form_builder.rb +250 -0
  103. data/app/views/layouts/spree/admin.html.erb +6 -2
  104. data/app/views/layouts/spree/admin_settings.html.erb +36 -0
  105. data/app/views/layouts/spree/admin_wizard.html.erb +34 -0
  106. data/app/views/layouts/spree/minimal.html.erb +2 -1
  107. data/app/views/layouts/spree/page_builder.html.erb +3 -2
  108. data/app/views/spree/admin/admin_users/_admin_user.html.erb +2 -2
  109. data/app/views/spree/admin/admin_users/_form.html.erb +3 -12
  110. data/app/views/spree/admin/admin_users/edit.html.erb +4 -7
  111. data/app/views/spree/admin/admin_users/index.html.erb +3 -3
  112. data/app/views/spree/admin/admin_users/show.html.erb +4 -4
  113. data/app/views/spree/admin/assets/create.turbo_stream.erb +1 -1
  114. data/app/views/spree/admin/assets/destroy.turbo_stream.erb +1 -1
  115. data/app/views/spree/admin/assets/edit.html.erb +16 -21
  116. data/app/views/spree/admin/assets/update.turbo_stream.erb +2 -2
  117. data/app/views/spree/admin/classifications/_classification.html.erb +5 -4
  118. data/app/views/spree/admin/classifications/create.turbo_stream.erb +1 -1
  119. data/app/views/spree/admin/classifications/index.html.erb +2 -2
  120. data/app/views/spree/admin/coupon_codes/_filters.html.erb +41 -0
  121. data/app/views/spree/admin/coupon_codes/_table_header.html.erb +0 -0
  122. data/app/views/spree/admin/coupon_codes/_table_row.html.erb +8 -0
  123. data/app/views/spree/admin/coupon_codes/index.html.erb +1 -58
  124. data/app/views/spree/admin/custom_domains/_custom_domains.html.erb +4 -4
  125. data/app/views/spree/admin/custom_domains/edit.html.erb +1 -14
  126. data/app/views/spree/admin/custom_domains/new.html.erb +1 -14
  127. data/app/views/spree/admin/customer_returns/_filters.html.erb +11 -0
  128. data/app/views/spree/admin/customer_returns/_table_header.html.erb +8 -0
  129. data/app/views/spree/admin/customer_returns/{_customer_return.html.erb → _table_row.html.erb} +1 -1
  130. data/app/views/spree/admin/customer_returns/index.html.erb +1 -36
  131. data/app/views/spree/admin/dashboard/_setup_progress.html.erb +1 -1
  132. data/app/views/spree/admin/dashboard/_setup_tasks.html.erb +8 -10
  133. data/app/views/spree/admin/dashboard/_store_preview.html.erb +5 -5
  134. data/app/views/spree/admin/dashboard/_top_products.html.erb +3 -3
  135. data/app/views/spree/admin/dashboard/_updater.html.erb +1 -1
  136. data/app/views/spree/admin/dashboard/analytics.html.erb +37 -39
  137. data/app/views/spree/admin/dashboard/getting_started.html.erb +1 -1
  138. data/app/views/spree/admin/dashboard/setup_tasks/_add_products.html.erb +2 -2
  139. data/app/views/spree/admin/dashboard/show.html.erb +1 -1
  140. data/app/views/spree/admin/digital_assets/_digital_asset.html.erb +9 -10
  141. data/app/views/spree/admin/digital_assets/_form.html.erb +3 -8
  142. data/app/views/spree/admin/digital_assets/_table.html.erb +12 -13
  143. data/app/views/spree/admin/digital_assets/create.turbo_stream.erb +1 -1
  144. data/app/views/spree/admin/digital_assets/edit.html.erb +8 -10
  145. data/app/views/spree/admin/digital_assets/index.html.erb +8 -9
  146. data/app/views/spree/admin/digital_assets/new.html.erb +8 -10
  147. data/app/views/spree/admin/digital_assets/update.turbo_stream.erb +1 -1
  148. data/app/views/spree/admin/errors/403.html.erb +14 -0
  149. data/app/views/spree/admin/errors/404.html.erb +14 -0
  150. data/app/views/spree/admin/errors/422.html.erb +14 -0
  151. data/app/views/spree/admin/errors/500.html.erb +14 -0
  152. data/app/views/spree/admin/errors/503.html.erb +14 -0
  153. data/app/views/spree/admin/exports/_export.html.erb +1 -1
  154. data/app/views/spree/admin/exports/create.turbo_stream.erb +4 -1
  155. data/app/views/spree/admin/exports/index.html.erb +5 -5
  156. data/app/views/spree/admin/exports/new.html.erb +33 -28
  157. data/app/views/spree/admin/gift_card_batches/_form.html.erb +5 -20
  158. data/app/views/spree/admin/gift_card_batches/new.html.erb +1 -15
  159. data/app/views/spree/admin/gift_cards/_filters.html.erb +3 -4
  160. data/app/views/spree/admin/gift_cards/_form.html.erb +16 -26
  161. data/app/views/spree/admin/gift_cards/_gift_card.html.erb +1 -1
  162. data/app/views/spree/admin/gift_cards/_list.html.erb +7 -7
  163. data/app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb +13 -13
  164. data/app/views/spree/admin/gift_cards/index.html.erb +14 -11
  165. data/app/views/spree/admin/gift_cards/new.html.erb +1 -30
  166. data/app/views/spree/admin/gift_cards/show.html.erb +6 -6
  167. data/app/views/spree/admin/import_mappings/update.turbo_stream.erb +15 -0
  168. data/app/views/spree/admin/import_rows/_variant.html.erb +1 -0
  169. data/app/views/spree/admin/import_rows/show.html.erb +32 -0
  170. data/app/views/spree/admin/imports/_footer.html.erb +15 -0
  171. data/app/views/spree/admin/imports/_loader.html.erb +14 -0
  172. data/app/views/spree/admin/imports/_mapping.html.erb +12 -0
  173. data/app/views/spree/admin/imports/_mapping_footer.html.erb +20 -0
  174. data/app/views/spree/admin/imports/_mapping_form.html.erb +11 -0
  175. data/app/views/spree/admin/imports/_mapping_icon.html.erb +6 -0
  176. data/app/views/spree/admin/imports/_row.html.erb +35 -0
  177. data/app/views/spree/admin/imports/new.html.erb +26 -0
  178. data/app/views/spree/admin/imports/show.html.erb +57 -0
  179. data/app/views/spree/admin/invitations/_invitation.html.erb +13 -13
  180. data/app/views/spree/admin/invitations/create.turbo_stream.erb +1 -1
  181. data/app/views/spree/admin/invitations/index.html.erb +15 -17
  182. data/app/views/spree/admin/invitations/new.html.erb +15 -26
  183. data/app/views/spree/admin/json_previews/show.html.erb +37 -0
  184. data/app/views/spree/admin/line_items/new.html.erb +6 -6
  185. data/app/views/spree/admin/metafield_definitions/_filters.html.erb +18 -0
  186. data/app/views/spree/admin/metafield_definitions/_form.html.erb +44 -0
  187. data/app/views/spree/admin/metafield_definitions/_table_header.html.erb +11 -0
  188. data/app/views/spree/admin/metafield_definitions/_table_row.html.erb +22 -0
  189. data/app/views/spree/admin/metafield_definitions/edit.html.erb +1 -0
  190. data/app/views/spree/admin/metafield_definitions/index.html.erb +9 -0
  191. data/app/views/spree/admin/metafield_definitions/new.html.erb +1 -0
  192. data/app/views/spree/admin/metafield_definitions/update.turbo_stream.erb +1 -0
  193. data/app/views/spree/admin/metafields/edit.html.erb +43 -0
  194. data/app/views/spree/admin/metafields/types/_boolean.html.erb +4 -0
  195. data/app/views/spree/admin/metafields/types/_json.html.erb +4 -0
  196. data/app/views/spree/admin/metafields/types/_long_text.html.erb +1 -0
  197. data/app/views/spree/admin/metafields/types/_number.html.erb +1 -0
  198. data/app/views/spree/admin/metafields/types/_rich_text.html.erb +3 -0
  199. data/app/views/spree/admin/metafields/types/_short_text.html.erb +1 -0
  200. data/app/views/spree/admin/metafields/update.turbo_stream.erb +1 -0
  201. data/app/views/spree/admin/newsletter_subscribers/_filters.html.erb +41 -0
  202. data/app/views/spree/admin/newsletter_subscribers/_table_header.html.erb +8 -0
  203. data/app/views/spree/admin/newsletter_subscribers/_table_row.html.erb +36 -0
  204. data/app/views/spree/admin/newsletter_subscribers/index.html.erb +9 -0
  205. data/app/views/spree/admin/oauth_applications/_form.html.erb +5 -10
  206. data/app/views/spree/admin/oauth_applications/_table_header.html.erb +7 -0
  207. data/app/views/spree/admin/oauth_applications/_table_row.html.erb +34 -0
  208. data/app/views/spree/admin/oauth_applications/create.turbo_stream.erb +20 -30
  209. data/app/views/spree/admin/oauth_applications/edit.html.erb +1 -18
  210. data/app/views/spree/admin/oauth_applications/index.html.erb +4 -60
  211. data/app/views/spree/admin/oauth_applications/new.html.erb +1 -24
  212. data/app/views/spree/admin/option_types/{_filter.html.erb → _filters.html.erb} +1 -1
  213. data/app/views/spree/admin/option_types/_form.html.erb +8 -30
  214. data/app/views/spree/admin/option_types/_table_header.html.erb +19 -0
  215. data/app/views/spree/admin/option_types/{_option_type.html.erb → _table_row.html.erb} +1 -1
  216. data/app/views/spree/admin/option_types/edit.html.erb +0 -3
  217. data/app/views/spree/admin/option_types/index.html.erb +3 -42
  218. data/app/views/spree/admin/orders/_customer.html.erb +17 -21
  219. data/app/views/spree/admin/orders/_customer_returns.html.erb +4 -4
  220. data/app/views/spree/admin/orders/_filters.html.erb +49 -48
  221. data/app/views/spree/admin/orders/_form.html.erb +12 -0
  222. data/app/views/spree/admin/orders/_header.html.erb +2 -7
  223. data/app/views/spree/admin/orders/_line_item.html.erb +6 -11
  224. data/app/views/spree/admin/orders/_line_items.html.erb +39 -47
  225. data/app/views/spree/admin/orders/_list.html.erb +7 -7
  226. data/app/views/spree/admin/orders/_order.html.erb +1 -1
  227. data/app/views/spree/admin/orders/_payments.html.erb +2 -2
  228. data/app/views/spree/admin/orders/_refunds.html.erb +7 -9
  229. data/app/views/spree/admin/orders/_return_authorizations.html.erb +5 -5
  230. data/app/views/spree/admin/orders/_risk_analysis.html.erb +1 -1
  231. data/app/views/spree/admin/orders/_shipment.html.erb +7 -6
  232. data/app/views/spree/admin/orders/_shipment_manifest_item.html.erb +1 -1
  233. data/app/views/spree/admin/orders/_shipments.html.erb +1 -1
  234. data/app/views/spree/admin/orders/_summary.html.erb +14 -7
  235. data/app/views/spree/admin/orders/_table_filter_dropdown.html.erb +6 -6
  236. data/app/views/spree/admin/orders/_tax_lines.html.erb +1 -1
  237. data/app/views/spree/admin/orders/billing_address/_form.html.erb +4 -2
  238. data/app/views/spree/admin/orders/billing_address/create.turbo_stream.erb +22 -24
  239. data/app/views/spree/admin/orders/billing_address/edit.html.erb +29 -31
  240. data/app/views/spree/admin/orders/billing_address/new.html.erb +22 -24
  241. data/app/views/spree/admin/orders/billing_address/update.turbo_stream.erb +22 -24
  242. data/app/views/spree/admin/orders/contact_information/edit.html.erb +10 -12
  243. data/app/views/spree/admin/orders/customer_returns/_customer_return.html.erb +7 -12
  244. data/app/views/spree/admin/orders/customer_returns/_reimbursements_table.html.erb +5 -5
  245. data/app/views/spree/admin/orders/customer_returns/_return_item_decision.html.erb +6 -6
  246. data/app/views/spree/admin/orders/customer_returns/_return_item_selection.html.erb +6 -6
  247. data/app/views/spree/admin/orders/customer_returns/new.html.erb +2 -6
  248. data/app/views/spree/admin/orders/index.html.erb +7 -3
  249. data/app/views/spree/admin/orders/new.html.erb +22 -0
  250. data/app/views/spree/admin/orders/return_authorizations/_form.html.erb +14 -28
  251. data/app/views/spree/admin/orders/return_authorizations/_return_authorization.html.erb +1 -1
  252. data/app/views/spree/admin/orders/return_authorizations/show.html.erb +14 -14
  253. data/app/views/spree/admin/orders/shipping_address/_form.html.erb +4 -2
  254. data/app/views/spree/admin/orders/shipping_address/create.turbo_stream.erb +8 -10
  255. data/app/views/spree/admin/orders/shipping_address/edit.html.erb +8 -10
  256. data/app/views/spree/admin/orders/shipping_address/new.html.erb +8 -10
  257. data/app/views/spree/admin/orders/shipping_address/update.turbo_stream.erb +8 -10
  258. data/app/views/spree/admin/orders/user/edit.html.erb +1 -1
  259. data/app/views/spree/admin/orders/user/new.html.erb +1 -1
  260. data/app/views/spree/admin/page_blocks/edit.html.erb +6 -9
  261. data/app/views/spree/admin/page_blocks/forms/_image.html.erb +4 -1
  262. data/app/views/spree/admin/page_blocks/forms/_metafields.html.erb +35 -0
  263. data/app/views/spree/admin/page_blocks/forms/products/_description.html.erb +0 -0
  264. data/app/views/spree/admin/page_builder/_add_block.html.erb +8 -6
  265. data/app/views/spree/admin/page_builder/_header.html.erb +29 -22
  266. data/app/views/spree/admin/page_builder/_pages_dropdown.html.erb +6 -6
  267. data/app/views/spree/admin/page_builder/_sidebar.html.erb +5 -5
  268. data/app/views/spree/admin/page_builder/_sidebar_colors.html.erb +71 -69
  269. data/app/views/spree/admin/page_builder/_sidebar_fonts.html.erb +62 -61
  270. data/app/views/spree/admin/page_builder/_sidebar_section.html.erb +4 -6
  271. data/app/views/spree/admin/page_builder/_sidebar_sections.html.erb +12 -2
  272. data/app/views/spree/admin/page_builder/_sidebar_sections_toolbar.html.erb +59 -57
  273. data/app/views/spree/admin/page_links/_form.html.erb +3 -3
  274. data/app/views/spree/admin/page_links/_linkable_type_dropdown.html.erb +3 -3
  275. data/app/views/spree/admin/page_links/create.turbo_stream.erb +10 -4
  276. data/app/views/spree/admin/page_links/destroy.turbo_stream.erb +13 -9
  277. data/app/views/spree/admin/page_links/edit.html.erb +26 -13
  278. data/app/views/spree/admin/page_links/update.turbo_stream.erb +11 -5
  279. data/app/views/spree/admin/page_sections/edit.html.erb +5 -8
  280. data/app/views/spree/admin/page_sections/forms/_breadcrumbs.html.erb +0 -0
  281. data/app/views/spree/admin/page_sections/forms/_image_with_text.html.erb +2 -5
  282. data/app/views/spree/admin/pages/_form.html.erb +1 -4
  283. data/app/views/spree/admin/pages/_table_header.html.erb +6 -0
  284. data/app/views/spree/admin/pages/_table_row.html.erb +28 -0
  285. data/app/views/spree/admin/pages/edit.html.erb +9 -11
  286. data/app/views/spree/admin/pages/{_filters.html.erb → filters.html.erb} +1 -1
  287. data/app/views/spree/admin/pages/index.html.erb +1 -24
  288. data/app/views/spree/admin/pages/new.html.erb +1 -17
  289. data/app/views/spree/admin/payment_methods/_available_payment_method.html.erb +1 -1
  290. data/app/views/spree/admin/payment_methods/_form.html.erb +4 -24
  291. data/app/views/spree/admin/payment_methods/_payment_method.html.erb +5 -2
  292. data/app/views/spree/admin/payment_methods/index.html.erb +17 -19
  293. data/app/views/spree/admin/payments/_payment.html.erb +16 -16
  294. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +3 -3
  295. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +7 -7
  296. data/app/views/spree/admin/policies/_filters.html.erb +8 -0
  297. data/app/views/spree/admin/policies/_form.html.erb +7 -0
  298. data/app/views/spree/admin/policies/_table_header.html.erb +8 -0
  299. data/app/views/spree/admin/policies/_table_row.html.erb +20 -0
  300. data/app/views/spree/admin/policies/edit.html.erb +2 -0
  301. data/app/views/spree/admin/policies/index.html.erb +9 -0
  302. data/app/views/spree/admin/policies/new.html.erb +1 -0
  303. data/app/views/spree/admin/policies/update.turbo_stream.erb +1 -0
  304. data/app/views/spree/admin/post_categories/_form.html.erb +2 -11
  305. data/app/views/spree/admin/post_categories/_table_header.html.erb +5 -0
  306. data/app/views/spree/admin/post_categories/{_post_category.html.erb → _table_row.html.erb} +3 -3
  307. data/app/views/spree/admin/post_categories/edit.html.erb +1 -14
  308. data/app/views/spree/admin/post_categories/index.html.erb +1 -20
  309. data/app/views/spree/admin/post_categories/new.html.erb +1 -14
  310. data/app/views/spree/admin/posts/_form.html.erb +21 -43
  311. data/app/views/spree/admin/posts/_table_header.html.erb +7 -0
  312. data/app/views/spree/admin/posts/{_post.html.erb → _table_row.html.erb} +2 -2
  313. data/app/views/spree/admin/posts/filters.html.erb +29 -0
  314. data/app/views/spree/admin/posts/index.html.erb +1 -24
  315. data/app/views/spree/admin/products/_bulk_operations.html.erb +6 -16
  316. data/app/views/spree/admin/products/_filters.html.erb +31 -38
  317. data/app/views/spree/admin/products/_form.html.erb +3 -2
  318. data/app/views/spree/admin/products/_list.html.erb +1 -1
  319. data/app/views/spree/admin/products/_product.html.erb +1 -1
  320. data/app/views/spree/admin/products/_table_filter_dropdown.html.erb +6 -6
  321. data/app/views/spree/admin/products/bulk_modal.html.erb +13 -15
  322. data/app/views/spree/admin/products/edit.html.erb +0 -1
  323. data/app/views/spree/admin/products/form/_base.html.erb +1 -5
  324. data/app/views/spree/admin/products/form/_properties.html.erb +2 -2
  325. data/app/views/spree/admin/products/form/_shipping.html.erb +1 -5
  326. data/app/views/spree/admin/products/form/_tax.html.erb +1 -5
  327. data/app/views/spree/admin/products/form/_variants.html.erb +1 -1
  328. data/app/views/spree/admin/products/index.html.erb +7 -2
  329. data/app/views/spree/admin/promotion_actions/_promotion_action.html.erb +7 -7
  330. data/app/views/spree/admin/promotion_actions/forms/_create_line_items.html.erb +4 -4
  331. data/app/views/spree/admin/promotion_actions/new.html.erb +29 -35
  332. data/app/views/spree/admin/promotion_rules/_promotion_rule.html.erb +8 -8
  333. data/app/views/spree/admin/promotion_rules/forms/_currency.html.erb +1 -4
  334. data/app/views/spree/admin/promotion_rules/forms/_item_total.html.erb +1 -1
  335. data/app/views/spree/admin/promotion_rules/new.html.erb +30 -36
  336. data/app/views/spree/admin/promotions/_actions.html.erb +4 -8
  337. data/app/views/spree/admin/promotions/_filters.html.erb +5 -9
  338. data/app/views/spree/admin/promotions/_form.html.erb +36 -0
  339. data/app/views/spree/admin/promotions/_rules.html.erb +4 -8
  340. data/app/views/spree/admin/promotions/_sidebar.html.erb +4 -4
  341. data/app/views/spree/admin/promotions/_table_filter_dropdown.html.erb +7 -7
  342. data/app/views/spree/admin/promotions/_table_header.html.erb +7 -0
  343. data/app/views/spree/admin/promotions/{_promotion.html.erb → _table_row.html.erb} +2 -5
  344. data/app/views/spree/admin/promotions/edit.html.erb +1 -1
  345. data/app/views/spree/admin/promotions/form/_kind.html.erb +52 -48
  346. data/app/views/spree/admin/promotions/form/_settings.html.erb +2 -8
  347. data/app/views/spree/admin/promotions/index.html.erb +1 -26
  348. data/app/views/spree/admin/promotions/new.html.erb +1 -57
  349. data/app/views/spree/admin/properties/_filters.html.erb +5 -0
  350. data/app/views/spree/admin/properties/_form.html.erb +8 -22
  351. data/app/views/spree/admin/properties/_table_header.html.erb +9 -0
  352. data/app/views/spree/admin/properties/{_property.html.erb → _table_row.html.erb} +2 -2
  353. data/app/views/spree/admin/properties/edit.html.erb +1 -21
  354. data/app/views/spree/admin/properties/index.html.erb +3 -38
  355. data/app/views/spree/admin/properties/new.html.erb +1 -18
  356. data/app/views/spree/admin/refund_reasons/_form.html.erb +1 -0
  357. data/app/views/spree/admin/refund_reasons/_table_header.html.erb +6 -0
  358. data/app/views/spree/admin/refund_reasons/_table_row.html.erb +14 -0
  359. data/app/views/spree/admin/refund_reasons/edit.html.erb +1 -3
  360. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -36
  361. data/app/views/spree/admin/refund_reasons/new.html.erb +1 -4
  362. data/app/views/spree/admin/refunds/_form.html.erb +1 -5
  363. data/app/views/spree/admin/refunds/edit.html.erb +9 -11
  364. data/app/views/spree/admin/reimbursement_types/_form.html.erb +10 -31
  365. data/app/views/spree/admin/reimbursement_types/_table_header.html.erb +7 -0
  366. data/app/views/spree/admin/reimbursement_types/_table_row.html.erb +17 -0
  367. data/app/views/spree/admin/reimbursement_types/edit.html.erb +1 -14
  368. data/app/views/spree/admin/reimbursement_types/index.html.erb +1 -40
  369. data/app/views/spree/admin/reimbursement_types/new.html.erb +1 -14
  370. data/app/views/spree/admin/reimbursements/edit.html.erb +9 -9
  371. data/app/views/spree/admin/reimbursements/show.html.erb +12 -12
  372. data/app/views/spree/admin/reports/_report.html.erb +1 -1
  373. data/app/views/spree/admin/reports/index.html.erb +2 -2
  374. data/app/views/spree/admin/reports/new.html.erb +2 -1
  375. data/app/views/spree/admin/return_authorization_reasons/_form.html.erb +1 -0
  376. data/app/views/spree/admin/return_authorization_reasons/_table_header.html.erb +5 -0
  377. data/app/views/spree/admin/return_authorization_reasons/_table_row.html.erb +18 -0
  378. data/app/views/spree/admin/return_authorization_reasons/edit.html.erb +1 -3
  379. data/app/views/spree/admin/return_authorization_reasons/index.html.erb +1 -39
  380. data/app/views/spree/admin/return_authorization_reasons/new.html.erb +1 -4
  381. data/app/views/spree/admin/return_authorizations/_list.html.erb +3 -3
  382. data/app/views/spree/admin/return_authorizations/_table_header.html.erb +6 -0
  383. data/app/views/spree/admin/return_authorizations/{_return_authorization.html.erb → _table_row.html.erb} +1 -1
  384. data/app/views/spree/admin/return_authorizations/{_filters.html.erb → filters.html.erb} +7 -12
  385. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -10
  386. data/app/views/spree/admin/roles/_form.html.erb +4 -5
  387. data/app/views/spree/admin/roles/edit.html.erb +1 -15
  388. data/app/views/spree/admin/roles/index.html.erb +4 -4
  389. data/app/views/spree/admin/roles/new.html.erb +1 -18
  390. data/app/views/spree/admin/shared/_alerts.html.erb +3 -1
  391. data/app/views/spree/admin/shared/_back_to_dashboard.html.erb +1 -0
  392. data/app/views/spree/admin/shared/_breadcrumbs.html.erb +1 -1
  393. data/app/views/spree/admin/shared/_bulk_modal.html.erb +13 -19
  394. data/app/views/spree/admin/shared/_calendar_range_picker.html.erb +6 -7
  395. data/app/views/spree/admin/shared/_close_bulk_modal.turbo_stream.erb +4 -1
  396. data/app/views/spree/admin/shared/_content_header.html.erb +20 -38
  397. data/app/views/spree/admin/shared/_dialog.html.erb +4 -0
  398. data/app/views/spree/admin/shared/_drawer.html.erb +4 -0
  399. data/app/views/spree/admin/shared/_edit_resource.html.erb +17 -0
  400. data/app/views/spree/admin/shared/_export_modal.html.erb +3 -0
  401. data/app/views/spree/admin/shared/_filters_button.html.erb +2 -2
  402. data/app/views/spree/admin/shared/_head.html.erb +7 -3
  403. data/app/views/spree/admin/shared/_header.html.erb +2 -5
  404. data/app/views/spree/admin/shared/_index_table.html.erb +34 -0
  405. data/app/views/spree/admin/shared/_index_table_options.html.erb +5 -7
  406. data/app/views/spree/admin/{variants/form → shared}/_media_asset.html.erb +3 -5
  407. data/app/views/spree/admin/{variants/form/_media.html.erb → shared/_media_form.html.erb} +2 -2
  408. data/app/views/spree/admin/shared/_multi_product_picker.html.erb +7 -7
  409. data/app/views/spree/admin/shared/_new_item_dropdown.html.erb +8 -10
  410. data/app/views/spree/admin/shared/_new_resource.html.erb +18 -0
  411. data/app/views/spree/admin/shared/_no_resource_found.html.erb +1 -1
  412. data/app/views/spree/admin/shared/_page_alerts.html.erb +5 -0
  413. data/app/views/spree/admin/shared/_page_section_image.html.erb +6 -0
  414. data/app/views/spree/admin/shared/_page_tabs.html.erb +9 -0
  415. data/app/views/spree/admin/shared/_refunds.html.erb +6 -8
  416. data/app/views/spree/admin/shared/_seo.html.erb +3 -8
  417. data/app/views/spree/admin/shared/_team_nav.html.erb +1 -3
  418. data/app/views/spree/admin/shared/_user.html.erb +2 -1
  419. data/app/views/spree/admin/shared/_user_dropdown.html.erb +7 -9
  420. data/app/views/spree/admin/shared/named_types/_edit.html.erb +1 -14
  421. data/app/views/spree/admin/shared/named_types/_form.html.erb +2 -11
  422. data/app/views/spree/admin/shared/named_types/_new.html.erb +1 -14
  423. data/app/views/spree/admin/shared/sidebar/_customers_nav.html.erb +8 -0
  424. data/app/views/spree/admin/shared/sidebar/_enterprise_edition_notice.html.erb +1 -1
  425. data/app/views/spree/admin/shared/sidebar/_products_nav.html.erb +1 -1
  426. data/app/views/spree/admin/shared/sidebar/_store_dropdown.html.erb +8 -9
  427. data/app/views/spree/admin/shared/sidebar/_store_nav.html.erb +16 -14
  428. data/app/views/spree/admin/shared/sidebar/_vendors_nav.html.erb +5 -2
  429. data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +7 -7
  430. data/app/views/spree/admin/shipping_categories/_form.html.erb +1 -5
  431. data/app/views/spree/admin/shipping_categories/_table_header.html.erb +4 -0
  432. data/app/views/spree/admin/shipping_categories/_table_row.html.erb +8 -0
  433. data/app/views/spree/admin/shipping_categories/edit.html.erb +1 -14
  434. data/app/views/spree/admin/shipping_categories/index.html.erb +3 -30
  435. data/app/views/spree/admin/shipping_categories/new.html.erb +1 -14
  436. data/app/views/spree/admin/shipping_methods/_table_header.html.erb +8 -0
  437. data/app/views/spree/admin/shipping_methods/{_shipping_method.html.erb → _table_row.html.erb} +1 -1
  438. data/app/views/spree/admin/shipping_methods/form/_display.html.erb +2 -2
  439. data/app/views/spree/admin/shipping_methods/form/_tax_category.html.erb +1 -4
  440. data/app/views/spree/admin/shipping_methods/form/_tracking_url.html.erb +1 -1
  441. data/app/views/spree/admin/shipping_methods/index.html.erb +3 -26
  442. data/app/views/spree/admin/stock_items/_filters.html.erb +12 -21
  443. data/app/views/spree/admin/stock_items/_table_header.html.erb +9 -0
  444. data/app/views/spree/admin/stock_items/{_stock_item.html.erb → _table_row.html.erb} +1 -1
  445. data/app/views/spree/admin/stock_items/index.html.erb +1 -27
  446. data/app/views/spree/admin/stock_locations/_form.html.erb +3 -15
  447. data/app/views/spree/admin/stock_locations/_table_header.html.erb +9 -0
  448. data/app/views/spree/admin/stock_locations/{_stock_location.html.erb → _table_row.html.erb} +7 -6
  449. data/app/views/spree/admin/stock_locations/edit.html.erb +1 -14
  450. data/app/views/spree/admin/stock_locations/index.html.erb +3 -26
  451. data/app/views/spree/admin/stock_locations/new.html.erb +1 -14
  452. data/app/views/spree/admin/stock_transfers/_filters.html.erb +25 -33
  453. data/app/views/spree/admin/stock_transfers/_new_variant_modal.html.erb +22 -26
  454. data/app/views/spree/admin/stock_transfers/_table_header.html.erb +9 -0
  455. data/app/views/spree/admin/stock_transfers/{_stock_transfer.html.erb → _table_row.html.erb} +2 -2
  456. data/app/views/spree/admin/stock_transfers/index.html.erb +1 -26
  457. data/app/views/spree/admin/stock_transfers/new.html.erb +5 -6
  458. data/app/views/spree/admin/stock_transfers/show.html.erb +3 -3
  459. data/app/views/spree/admin/store_credit_categories/_form.html.erb +1 -5
  460. data/app/views/spree/admin/store_credit_categories/index.html.erb +3 -3
  461. data/app/views/spree/admin/store_credit_events/_store_credit_event.html.erb +1 -1
  462. data/app/views/spree/admin/store_credits/_form.html.erb +3 -16
  463. data/app/views/spree/admin/store_credits/_list.html.erb +7 -7
  464. data/app/views/spree/admin/store_credits/_store_credit.html.erb +2 -2
  465. data/app/views/spree/admin/store_credits/show.html.erb +6 -6
  466. data/app/views/spree/admin/storefront/edit.html.erb +10 -53
  467. data/app/views/spree/admin/stores/edit.html.erb +10 -6
  468. data/app/views/spree/admin/stores/form/_basic.html.erb +65 -158
  469. data/app/views/spree/admin/stores/form/_checkout.html.erb +35 -51
  470. data/app/views/spree/admin/stores/form/_checkout_links.html.erb +28 -0
  471. data/app/views/spree/admin/stores/form/_emails.html.erb +33 -64
  472. data/app/views/spree/admin/stores/form/_policies.html.erb +55 -71
  473. data/app/views/spree/admin/stores/new.html.erb +119 -129
  474. data/app/views/spree/admin/tax_categories/_form.html.erb +4 -17
  475. data/app/views/spree/admin/tax_categories/_table_header.html.erb +7 -0
  476. data/app/views/spree/admin/tax_categories/{_tax_category.html.erb → _table_row.html.erb} +1 -1
  477. data/app/views/spree/admin/tax_categories/edit.html.erb +1 -14
  478. data/app/views/spree/admin/tax_categories/index.html.erb +3 -24
  479. data/app/views/spree/admin/tax_categories/new.html.erb +1 -14
  480. data/app/views/spree/admin/tax_rates/_form.html.erb +6 -26
  481. data/app/views/spree/admin/tax_rates/_table_header.html.erb +9 -0
  482. data/app/views/spree/admin/tax_rates/{_tax_rate.html.erb → _table_row.html.erb} +1 -1
  483. data/app/views/spree/admin/tax_rates/edit.html.erb +1 -14
  484. data/app/views/spree/admin/tax_rates/index.html.erb +3 -26
  485. data/app/views/spree/admin/tax_rates/new.html.erb +1 -14
  486. data/app/views/spree/admin/taxonomies/_form.html.erb +5 -0
  487. data/app/views/spree/admin/taxonomies/_table_header.html.erb +6 -0
  488. data/app/views/spree/admin/taxonomies/{_taxonomy.html.erb → _table_row.html.erb} +3 -3
  489. data/app/views/spree/admin/taxonomies/edit.html.erb +1 -25
  490. data/app/views/spree/admin/taxonomies/filters.html.erb +6 -0
  491. data/app/views/spree/admin/taxonomies/index.html.erb +3 -34
  492. data/app/views/spree/admin/taxonomies/new.html.erb +1 -23
  493. data/app/views/spree/admin/taxons/_form.html.erb +6 -30
  494. data/app/views/spree/admin/taxons/_rule_form.html.erb +2 -1
  495. data/app/views/spree/admin/taxons/_rules_form.html.erb +1 -1
  496. data/app/views/spree/admin/taxons/edit.html.erb +0 -1
  497. data/app/views/spree/admin/themes/_theme.html.erb +9 -8
  498. data/app/views/spree/admin/themes/index.html.erb +14 -16
  499. data/app/views/spree/admin/translations/edit.html.erb +34 -49
  500. data/app/views/spree/admin/translations/policies/_form.html.erb +12 -0
  501. data/app/views/spree/admin/translations/products/_form.html.erb +2 -0
  502. data/app/views/spree/admin/translations/translation_rows/_permalink_field_row.html.erb +11 -20
  503. data/app/views/spree/admin/translations/translation_rows/_rich_textarea_row.html.erb +1 -11
  504. data/app/views/spree/admin/translations/translation_rows/_text_field_row.html.erb +1 -5
  505. data/app/views/spree/admin/translations/translation_rows/_textarea_row.html.erb +2 -9
  506. data/app/views/spree/admin/translations/translation_rows/_tinymce_row.html.erb +4 -11
  507. data/app/views/spree/admin/translations/update.turbo_stream.erb +1 -0
  508. data/app/views/spree/admin/users/_filters.html.erb +50 -66
  509. data/app/views/spree/admin/users/_form.html.erb +3 -36
  510. data/app/views/spree/admin/users/_form_fields.html.erb +15 -0
  511. data/app/views/spree/admin/users/_last_order.html.erb +3 -2
  512. data/app/views/spree/admin/users/_lifetime_stats.html.erb +1 -1
  513. data/app/views/spree/admin/users/_tabs.html.erb +31 -31
  514. data/app/views/spree/admin/users/_user.html.erb +1 -1
  515. data/app/views/spree/admin/users/bulk_modal.html.erb +11 -13
  516. data/app/views/spree/admin/users/edit.html.erb +1 -1
  517. data/app/views/spree/admin/users/index.html.erb +53 -55
  518. data/app/views/spree/admin/users/new.html.erb +1 -18
  519. data/app/views/spree/admin/variants/_variant.html.erb +1 -1
  520. data/app/views/spree/admin/variants/edit.html.erb +1 -1
  521. data/app/views/spree/admin/variants/form/_basic.html.erb +4 -17
  522. data/app/views/spree/admin/variants/form/_dimensions.html.erb +4 -18
  523. data/app/views/spree/admin/variants/form/_inventory.html.erb +6 -12
  524. data/app/views/spree/admin/variants/form/_pricing.html.erb +3 -3
  525. data/app/views/spree/admin/webhook_events/_webhook_event.html.erb +1 -1
  526. data/app/views/spree/admin/webhooks_subscribers/_form.html.erb +57 -73
  527. data/app/views/spree/admin/webhooks_subscribers/_table_header.html.erb +7 -0
  528. data/app/views/spree/admin/webhooks_subscribers/{_webhooks_subscriber.html.erb → _table_row.html.erb} +3 -3
  529. data/app/views/spree/admin/webhooks_subscribers/edit.html.erb +1 -9
  530. data/app/views/spree/admin/webhooks_subscribers/index.html.erb +1 -23
  531. data/app/views/spree/admin/webhooks_subscribers/new.html.erb +1 -11
  532. data/app/views/spree/admin/webhooks_subscribers/show.html.erb +8 -8
  533. data/app/views/spree/admin/zones/_form.html.erb +8 -28
  534. data/app/views/spree/admin/zones/_table_header.html.erb +8 -0
  535. data/app/views/spree/admin/zones/_table_row.html.erb +8 -0
  536. data/app/views/spree/admin/zones/edit.html.erb +1 -14
  537. data/app/views/spree/admin/zones/index.html.erb +3 -35
  538. data/app/views/spree/admin/zones/new.html.erb +1 -14
  539. data/config/importmap.rb +32 -2
  540. data/config/initializers/assets.rb +3 -1
  541. data/config/locales/en.yml +32 -3
  542. data/config/routes.rb +27 -4
  543. data/lib/generators/spree/admin/scaffold/scaffold_generator.rb +51 -0
  544. data/lib/generators/spree/admin/scaffold/templates/controller.rb.tt +11 -0
  545. data/lib/generators/spree/admin/scaffold/templates/views/_filters.html.erb.tt +13 -0
  546. data/lib/generators/spree/admin/scaffold/templates/views/_form.html.erb.tt +5 -0
  547. data/lib/generators/spree/admin/scaffold/templates/views/_table_header.html.erb.tt +5 -0
  548. data/lib/generators/spree/admin/scaffold/templates/views/_table_row.html.erb.tt +9 -0
  549. data/lib/generators/spree/admin/scaffold/templates/views/edit.html.erb.tt +1 -0
  550. data/lib/generators/spree/admin/scaffold/templates/views/index.html.erb.tt +9 -0
  551. data/lib/generators/spree/admin/scaffold/templates/views/new.html.erb.tt +1 -0
  552. data/lib/spree/admin/engine.rb +13 -9
  553. data/lib/spree/admin/runtime_configuration.rb +5 -0
  554. data/lib/spree/admin/testing_support/capybara_utils.rb +19 -0
  555. data/lib/spree/admin.rb +1 -3
  556. data/vendor/javascript/@codemirror--autocomplete.js +4 -0
  557. data/vendor/javascript/@codemirror--commands.js +4 -0
  558. data/vendor/javascript/@codemirror--lang-json.js +4 -0
  559. data/vendor/javascript/@codemirror--language.js +4 -0
  560. data/vendor/javascript/@codemirror--lint.js +4 -0
  561. data/vendor/javascript/@codemirror--search.js +4 -0
  562. data/vendor/javascript/@codemirror--state.js +4 -0
  563. data/vendor/javascript/@codemirror--view.js +4 -0
  564. data/vendor/javascript/@floating-ui--core.js +4 -0
  565. data/vendor/javascript/@floating-ui--dom.js +12 -0
  566. data/vendor/javascript/@floating-ui--utils--dom.js +4 -0
  567. data/vendor/javascript/@floating-ui--utils.js +4 -0
  568. data/vendor/javascript/@highlightjs--cdn-assets--es--core.min.js.js +308 -0
  569. data/vendor/javascript/@highlightjs--cdn-assets--es--languages--json.min.js.js +10 -0
  570. data/vendor/javascript/@lezer--common.js +4 -0
  571. data/vendor/javascript/@lezer--highlight.js +4 -0
  572. data/vendor/javascript/@lezer--json.js +4 -0
  573. data/vendor/javascript/@lezer--lr.js +4 -0
  574. data/vendor/javascript/@marijn--find-cluster-break.js +4 -0
  575. data/vendor/javascript/@stimulus-components--dialog.js +4 -0
  576. data/vendor/javascript/@stimulus-components--dropdown.js +4 -0
  577. data/vendor/javascript/codemirror.js +4 -0
  578. data/vendor/javascript/crelt.js +4 -0
  579. data/vendor/javascript/stimulus-use.js +2 -2
  580. data/vendor/javascript/style-mod.js +4 -0
  581. data/vendor/javascript/trix@2.1.15.js +5 -0
  582. data/vendor/javascript/w3c-keyname.js +4 -0
  583. metadata +210 -71
  584. data/app/assets/stylesheets/spree/admin/plugins/flatfile.scss +0 -4
  585. data/app/helpers/spree/admin/session_assets_helper.rb +0 -24
  586. data/app/javascript/spree/admin/controllers/bootstrap_tabs_controller.js +0 -9
  587. data/app/javascript/spree/admin/controllers/enable_button_controller.js +0 -29
  588. data/app/views/spree/admin/coupon_codes/_coupon_code.html.erb +0 -8
  589. data/app/views/spree/admin/errors/forbidden.html.erb +0 -13
  590. data/app/views/spree/admin/gift_cards/index.csv.erb +0 -22
  591. data/app/views/spree/admin/orders/user/create.turbo_stream.erb +0 -12
  592. data/app/views/spree/admin/orders/user/update.turbo_stream.erb +0 -5
  593. data/app/views/spree/admin/pages/_page.html.erb +0 -26
  594. data/app/views/spree/admin/payment_methods/update.turbo_stream.erb +0 -1
  595. data/app/views/spree/admin/posts/_filters.html.erb +0 -36
  596. data/app/views/spree/admin/stores/create.turbo_stream.erb +0 -5
  597. data/app/views/spree/admin/translations/_translations_unavailable.html.erb +0 -8
  598. data/app/views/spree/admin/users/index.csv.erb +0 -43
  599. data/vendor/javascript/trix@2.1.12.js +0 -5
  600. /data/app/views/spree/admin/page_blocks/forms/{_buy_buttons.html.erb → products/_buy_buttons.html.erb} +0 -0
  601. /data/app/views/spree/admin/page_blocks/forms/{_quantity_selector.html.erb → products/_quantity_selector.html.erb} +0 -0
@@ -0,0 +1,4 @@
1
+ // @floating-ui/utils/dom@0.2.10 downloaded from https://ga.jspm.io/npm:@floating-ui/utils@0.2.10/dist/floating-ui.utils.dom.mjs
2
+
3
+ function n(){return typeof window!=="undefined"}function t(n){return r(n)?(n.nodeName||"").toLowerCase():"#document"}function e(n){var t;return(n==null||(t=n.ownerDocument)==null?void 0:t.defaultView)||window}function o(n){var t;return(t=(r(n)?n.ownerDocument:n.document)||window.document)==null?void 0:t.documentElement}function r(t){return!!n()&&(t instanceof Node||t instanceof e(t).Node)}function c(t){return!!n()&&(t instanceof Element||t instanceof e(t).Element)}function u(t){return!!n()&&(t instanceof HTMLElement||t instanceof e(t).HTMLElement)}function l(t){return!(!n()||typeof ShadowRoot==="undefined")&&(t instanceof ShadowRoot||t instanceof e(t).ShadowRoot)}const i=new Set(["inline","contents"]);function s(n){const{overflow:t,overflowX:e,overflowY:o,display:r}=C(n);return/auto|scroll|overlay|hidden|clip/.test(t+o+e)&&!i.has(r)}const a=new Set(["table","td","th"]);function f(n){return a.has(t(n))}const d=[":popover-open",":modal"];function p(n){return d.some((t=>{try{return n.matches(t)}catch(n){return false}}))}const m=["transform","translate","scale","rotate","perspective"];const w=["transform","translate","scale","rotate","perspective","filter"];const h=["paint","layout","strict","content"];function v(n){const t=S();const e=c(n)?C(n):n;return m.some((n=>!!e[n]&&e[n]!=="none"))||!!e.containerType&&e.containerType!=="normal"||!t&&!!e.backdropFilter&&e.backdropFilter!=="none"||!t&&!!e.filter&&e.filter!=="none"||w.some((n=>(e.willChange||"").includes(n)))||h.some((n=>(e.contain||"").includes(n)))}function y(n){let t=L(n);while(u(t)&&!T(t)){if(v(t))return t;if(p(t))return null;t=L(t)}return null}function S(){return!(typeof CSS==="undefined"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const b=new Set(["html","body","#document"]);function T(n){return b.has(t(n))}function C(n){return e(n).getComputedStyle(n)}function E(n){return c(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function L(n){if(t(n)==="html")return n;const e=n.assignedSlot||n.parentNode||l(n)&&n.host||o(n);return l(e)?e.host:e}function D(n){const t=L(n);return T(t)?n.ownerDocument?n.ownerDocument.body:n.body:u(t)&&s(t)?t:D(t)}function g(n,t,o){var r;t===void 0&&(t=[]);o===void 0&&(o=true);const c=D(n);const u=c===((r=n.ownerDocument)==null?void 0:r.body);const l=e(c);if(u){const n=k(l);return t.concat(l,l.visualViewport||[],s(c)?c:[],n&&o?g(n):[])}return t.concat(c,g(c,[],o))}function k(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}export{C as getComputedStyle,y as getContainingBlock,o as getDocumentElement,k as getFrameElement,D as getNearestOverflowAncestor,t as getNodeName,E as getNodeScroll,g as getOverflowAncestors,L as getParentNode,e as getWindow,v as isContainingBlock,c as isElement,u as isHTMLElement,T as isLastTraversableNode,r as isNode,s as isOverflowElement,l as isShadowRoot,f as isTableElement,p as isTopLayer,S as isWebKit};
4
+
@@ -0,0 +1,4 @@
1
+ // @floating-ui/utils@0.2.10 downloaded from https://ga.jspm.io/npm:@floating-ui/utils@0.2.10/dist/floating-ui.utils.mjs
2
+
3
+ const t=["top","right","bottom","left"];const n=["start","end"];const o=t.reduce(((t,o)=>t.concat(o,o+"-"+n[0],o+"-"+n[1])),[]);const r=Math.min;const e=Math.max;const c=Math.round;const i=Math.floor;const u=t=>({x:t,y:t});const f={left:"right",right:"left",bottom:"top",top:"bottom"};const s={start:"end",end:"start"};function a(t,n,o){return e(t,r(n,o))}function h(t,n){return typeof t==="function"?t(n):t}function l(t){return t.split("-")[0]}function p(t){return t.split("-")[1]}function g(t){return t==="x"?"y":"x"}function m(t){return t==="y"?"height":"width"}const b=new Set(["top","bottom"]);function d(t){return b.has(l(t))?"y":"x"}function x(t){return g(d(t))}function y(t,n,o){o===void 0&&(o=false);const r=p(t);const e=x(t);const c=m(e);let i=e==="x"?r===(o?"end":"start")?"right":"left":r==="start"?"bottom":"top";n.reference[c]>n.floating[c]&&(i=A(i));return[i,A(i)]}function w(t){const n=A(t);return[M(t),n,M(n)]}function M(t){return t.replace(/start|end/g,(t=>s[t]))}const v=["left","right"];const S=["right","left"];const j=["top","bottom"];const k=["bottom","top"];function q(t,n,o){switch(t){case"top":case"bottom":return o?n?S:v:n?v:S;case"left":case"right":return n?j:k;default:return[]}}function z(t,n,o,r){const e=p(t);let c=q(l(t),o==="start",r);if(e){c=c.map((t=>t+"-"+e));n&&(c=c.concat(c.map(M)))}return c}function A(t){return t.replace(/left|right|bottom|top/g,(t=>f[t]))}function B(t){return{top:0,right:0,bottom:0,left:0,...t}}function C(t){return typeof t!=="number"?B(t):{top:t,right:t,bottom:t,left:t}}function D(t){const{x:n,y:o,width:r,height:e}=t;return{width:r,height:e,top:o,left:n,right:n+r,bottom:o+e,x:n,y:o}}export{n as alignments,a as clamp,u as createCoords,h as evaluate,B as expandPaddingObject,i as floor,p as getAlignment,x as getAlignmentAxis,y as getAlignmentSides,m as getAxisLength,w as getExpandedPlacements,M as getOppositeAlignmentPlacement,g as getOppositeAxis,z as getOppositeAxisPlacements,A as getOppositePlacement,C as getPaddingObject,l as getSide,d as getSideAxis,e as max,r as min,o as placements,D as rectToClientRect,c as round,t as sides};
4
+
@@ -0,0 +1,308 @@
1
+ // @highlightjs/cdn-assets/es/core.min.js@11.11.1 downloaded from https://cdn.jsdelivr.net/npm/@highlightjs/cdn-assets@11.11.1/es/core.min.js
2
+
3
+ /*!
4
+ Highlight.js v11.11.1 (git: 08cb242e7d)
5
+ (c) 2006-2024 Josh Goebel <hello@joshgoebel.com> and other contributors
6
+ License: BSD-3-Clause
7
+ */
8
+ function e(t){return t instanceof Map?t.clear=t.delete=t.set=()=>{
9
+ throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{
10
+ throw Error("set is read-only")
11
+ }),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{
12
+ const i=t[n],s=typeof i;"object"!==s&&"function"!==s||Object.isFrozen(i)||e(i)
13
+ })),t}class t{constructor(e){
14
+ void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}
15
+ ignoreMatch(){this.isMatchIgnored=!0}}function n(e){
16
+ return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")
17
+ }function i(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t]
18
+ ;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const s=e=>!!e.scope
19
+ ;class r{constructor(e,t){
20
+ this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){
21
+ this.buffer+=n(e)}openNode(e){if(!s(e))return;const t=((e,{prefix:t})=>{
22
+ if(e.startsWith("language:"))return e.replace("language:","language-")
23
+ ;if(e.includes(".")){const n=e.split(".")
24
+ ;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")
25
+ }return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}
26
+ closeNode(e){s(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){
27
+ this.buffer+=`<span class="${e}">`}}const o=(e={})=>{const t={children:[]}
28
+ ;return Object.assign(t,e),t};class a{constructor(){
29
+ this.rootNode=o(),this.stack=[this.rootNode]}get top(){
30
+ return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){
31
+ this.top.children.push(e)}openNode(e){const t=o({scope:e})
32
+ ;this.add(t),this.stack.push(t)}closeNode(){
33
+ if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){
34
+ for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}
35
+ walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){
36
+ return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),
37
+ t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){
38
+ "string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{
39
+ a._collapse(e)})))}}class c extends a{constructor(e){super(),this.options=e}
40
+ addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){
41
+ this.closeNode()}__addSublanguage(e,t){const n=e.root
42
+ ;t&&(n.scope="language:"+t),this.add(n)}toHTML(){
43
+ return new r(this,this.options).value()}finalize(){
44
+ return this.closeAllNodes(),!0}}function l(e){
45
+ return e?"string"==typeof e?e:e.source:null}function g(e){return h("(?=",e,")")}
46
+ function u(e){return h("(?:",e,")*")}function d(e){return h("(?:",e,")?")}
47
+ function h(...e){return e.map((e=>l(e))).join("")}function f(...e){const t=(e=>{
48
+ const t=e[e.length-1]
49
+ ;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}
50
+ })(e);return"("+(t.capture?"":"?:")+e.map((e=>l(e))).join("|")+")"}
51
+ function p(e){return RegExp(e.toString()+"|").exec("").length-1}
52
+ const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
53
+ ;function m(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n
54
+ ;let i=l(e),s="";for(;i.length>0;){const e=b.exec(i);if(!e){s+=i;break}
55
+ s+=i.substring(0,e.index),
56
+ i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],
57
+ "("===e[0]&&n++)}return s})).map((e=>`(${e})`)).join(t)}
58
+ const E="[a-zA-Z]\\w*",x="[a-zA-Z_]\\w*",_="\\b\\d+(\\.\\d+)?",y="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",O={
59
+ begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'",
60
+ illegal:"\\n",contains:[O]},v={scope:"string",begin:'"',end:'"',illegal:"\\n",
61
+ contains:[O]},N=(e,t,n={})=>{const s=i({scope:"comment",begin:e,end:t,
62
+ contains:[]},n);s.contains.push({scope:"doctag",
63
+ begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
64
+ end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0})
65
+ ;const r=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/)
66
+ ;return s.contains.push({begin:h(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s
67
+ },S=N("//","$"),M=N("/\\*","\\*/"),R=N("#","$");var A=Object.freeze({
68
+ __proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:O,BINARY_NUMBER_MODE:{
69
+ scope:"number",begin:w,relevance:0},BINARY_NUMBER_RE:w,COMMENT:N,
70
+ C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number",
71
+ begin:y,relevance:0},C_NUMBER_RE:y,END_SAME_AS_BEGIN:e=>Object.assign(e,{
72
+ "on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{
73
+ t.data._beginMatch!==e[1]&&t.ignoreMatch()}}),HASH_COMMENT_MODE:R,IDENT_RE:E,
74
+ MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+x,relevance:0},
75
+ NUMBER_MODE:{scope:"number",begin:_,relevance:0},NUMBER_RE:_,
76
+ PHRASAL_WORDS_MODE:{
77
+ begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
78
+ },QUOTE_STRING_MODE:v,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,
79
+ end:/\/[gimuy]*/,contains:[O,{begin:/\[/,end:/\]/,relevance:0,contains:[O]}]},
80
+ RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
81
+ SHEBANG:(e={})=>{const t=/^#![ ]*\//
82
+ ;return e.binary&&(e.begin=h(t,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:t,
83
+ end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},
84
+ TITLE_MODE:{scope:"title",begin:E,relevance:0},UNDERSCORE_IDENT_RE:x,
85
+ UNDERSCORE_TITLE_MODE:{scope:"title",begin:x,relevance:0}});function j(e,t){
86
+ "."===e.input[e.index-1]&&t.ignoreMatch()}function I(e,t){
87
+ void 0!==e.className&&(e.scope=e.className,delete e.className)}function T(e,t){
88
+ t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",
89
+ e.__beforeBegin=j,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,
90
+ void 0===e.relevance&&(e.relevance=0))}function L(e,t){
91
+ Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function B(e,t){
92
+ if(e.match){
93
+ if(e.begin||e.end)throw Error("begin & end are not supported with match")
94
+ ;e.begin=e.match,delete e.match}}function P(e,t){
95
+ void 0===e.relevance&&(e.relevance=1)}const D=(e,t)=>{if(!e.beforeMatch)return
96
+ ;if(e.starts)throw Error("beforeMatch cannot be used with starts")
97
+ ;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]
98
+ })),e.keywords=n.keywords,e.begin=h(n.beforeMatch,g(n.begin)),e.starts={
99
+ relevance:0,contains:[Object.assign(n,{endsParent:!0})]
100
+ },e.relevance=0,delete n.beforeMatch
101
+ },H=["of","and","for","in","not","or","if","then","parent","list","value"]
102
+ ;function C(e,t,n="keyword"){const i=Object.create(null)
103
+ ;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{
104
+ Object.assign(i,C(e[n],t,n))})),i;function s(e,n){
105
+ t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|")
106
+ ;i[n[0]]=[e,$(n[0],n[1])]}))}}function $(e,t){
107
+ return t?Number(t):(e=>H.includes(e.toLowerCase()))(e)?0:1}const U={},z=e=>{
108
+ console.error(e)},W=(e,...t)=>{console.log("WARN: "+e,...t)},X=(e,t)=>{
109
+ U[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),U[`${e}/${t}`]=!0)
110
+ },G=Error();function K(e,t,{key:n}){let i=0;const s=e[n],r={},o={}
111
+ ;for(let e=1;e<=t.length;e++)o[e+i]=s[e],r[e+i]=!0,i+=p(t[e-1])
112
+ ;e[n]=o,e[n]._emit=r,e[n]._multi=!0}function F(e){(e=>{
113
+ e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,
114
+ delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={
115
+ _wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope
116
+ }),(e=>{if(Array.isArray(e.begin)){
117
+ if(e.skip||e.excludeBegin||e.returnBegin)throw z("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),
118
+ G
119
+ ;if("object"!=typeof e.beginScope||null===e.beginScope)throw z("beginScope must be object"),
120
+ G;K(e,e.begin,{key:"beginScope"}),e.begin=m(e.begin,{joinWith:""})}})(e),(e=>{
121
+ if(Array.isArray(e.end)){
122
+ if(e.skip||e.excludeEnd||e.returnEnd)throw z("skip, excludeEnd, returnEnd not compatible with endScope: {}"),
123
+ G
124
+ ;if("object"!=typeof e.endScope||null===e.endScope)throw z("endScope must be object"),
125
+ G;K(e,e.end,{key:"endScope"}),e.end=m(e.end,{joinWith:""})}})(e)}function Z(e){
126
+ function t(t,n){
127
+ return RegExp(l(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))
128
+ }class n{constructor(){
129
+ this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}
130
+ addRule(e,t){
131
+ t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),
132
+ this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null)
133
+ ;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(m(e,{joinWith:"|"
134
+ }),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex
135
+ ;const t=this.matcherRe.exec(e);if(!t)return null
136
+ ;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n]
137
+ ;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){
138
+ this.rules=[],this.multiRegexes=[],
139
+ this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){
140
+ if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n
141
+ ;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),
142
+ t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){
143
+ return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){
144
+ this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){
145
+ const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex
146
+ ;let n=t.exec(e)
147
+ ;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{
148
+ const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}
149
+ return n&&(this.regexIndex+=n.position+1,
150
+ this.regexIndex===this.count&&this.considerAll()),n}}
151
+ if(e.compilerExtensions||(e.compilerExtensions=[]),
152
+ e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.")
153
+ ;return e.classNameAliases=i(e.classNameAliases||{}),function n(r,o){const a=r
154
+ ;if(r.isCompiled)return a
155
+ ;[I,B,F,D].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),
156
+ r.__beforeBegin=null,[T,L,P].forEach((e=>e(r,o))),r.isCompiled=!0;let c=null
157
+ ;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),
158
+ c=r.keywords.$pattern,
159
+ delete r.keywords.$pattern),c=c||/\w+/,r.keywords&&(r.keywords=C(r.keywords,e.case_insensitive)),
160
+ a.keywordPatternRe=t(c,!0),
161
+ o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=t(a.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),
162
+ r.end&&(a.endRe=t(a.end)),
163
+ a.terminatorEnd=l(a.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),
164
+ r.illegal&&(a.illegalRe=t(r.illegal)),
165
+ r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>i(e,{
166
+ variants:null},t)))),e.cachedVariants?e.cachedVariants:V(e)?i(e,{
167
+ starts:e.starts?i(e.starts):null
168
+ }):Object.isFrozen(e)?i(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{n(e,a)
169
+ })),r.starts&&n(r.starts,o),a.matcher=(e=>{const t=new s
170
+ ;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"
171
+ }))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"
172
+ }),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function V(e){
173
+ return!!e&&(e.endsWithParent||V(e.starts))}class q extends Error{
174
+ constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}
175
+ const J=n,Y=i,Q=Symbol("nomatch"),ee=n=>{
176
+ const i=Object.create(null),s=Object.create(null),r=[];let o=!0
177
+ ;const a="Could not find the language '{}', did you forget to load/include a language module?",l={
178
+ disableAutodetect:!0,name:"Plain text",contains:[]};let p={
179
+ ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,
180
+ languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",
181
+ cssSelector:"pre code",languages:null,__emitter:c};function b(e){
182
+ return p.noHighlightRe.test(e)}function m(e,t,n){let i="",s=""
183
+ ;"object"==typeof t?(i=e,
184
+ n=t.ignoreIllegals,s=t.language):(X("10.7.0","highlight(lang, code, ...args) has been deprecated."),
185
+ X("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),
186
+ s=e,i=t),void 0===n&&(n=!0);const r={code:i,language:s};N("before:highlight",r)
187
+ ;const o=r.result?r.result:E(r.language,r.code,n)
188
+ ;return o.code=r.code,N("after:highlight",o),o}function E(e,n,s,r){
189
+ const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(R)
190
+ ;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(R),n=""
191
+ ;for(;t;){n+=R.substring(e,t.index)
192
+ ;const s=w.case_insensitive?t[0].toLowerCase():t[0],r=(i=s,N.keywords[i]);if(r){
193
+ const[e,i]=r
194
+ ;if(M.addText(n),n="",c[s]=(c[s]||0)+1,c[s]<=7&&(A+=i),e.startsWith("_"))n+=t[0];else{
195
+ const n=w.classNameAliases[e]||e;u(t[0],n)}}else n+=t[0]
196
+ ;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(R)}var i
197
+ ;n+=R.substring(e),M.addText(n)}function g(){null!=N.subLanguage?(()=>{
198
+ if(""===R)return;let e=null;if("string"==typeof N.subLanguage){
199
+ if(!i[N.subLanguage])return void M.addText(R)
200
+ ;e=E(N.subLanguage,R,!0,S[N.subLanguage]),S[N.subLanguage]=e._top
201
+ }else e=x(R,N.subLanguage.length?N.subLanguage:null)
202
+ ;N.relevance>0&&(A+=e.relevance),M.__addSublanguage(e._emitter,e.language)
203
+ })():l(),R=""}function u(e,t){
204
+ ""!==e&&(M.startScope(t),M.addText(e),M.endScope())}function d(e,t){let n=1
205
+ ;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue}
206
+ const i=w.classNameAliases[e[n]]||e[n],s=t[n];i?u(s,i):(R=s,l(),R=""),n++}}
207
+ function h(e,t){
208
+ return e.scope&&"string"==typeof e.scope&&M.openNode(w.classNameAliases[e.scope]||e.scope),
209
+ e.beginScope&&(e.beginScope._wrap?(u(R,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),
210
+ R=""):e.beginScope._multi&&(d(e.beginScope,t),R="")),N=Object.create(e,{parent:{
211
+ value:N}}),N}function f(e,n,i){let s=((e,t)=>{const n=e&&e.exec(t)
212
+ ;return n&&0===n.index})(e.endRe,i);if(s){if(e["on:end"]){const i=new t(e)
213
+ ;e["on:end"](n,i),i.isMatchIgnored&&(s=!1)}if(s){
214
+ for(;e.endsParent&&e.parent;)e=e.parent;return e}}
215
+ if(e.endsWithParent)return f(e.parent,n,i)}function b(e){
216
+ return 0===N.matcher.regexIndex?(R+=e[0],1):(T=!0,0)}function m(e){
217
+ const t=e[0],i=n.substring(e.index),s=f(N,e,i);if(!s)return Q;const r=N
218
+ ;N.endScope&&N.endScope._wrap?(g(),
219
+ u(t,N.endScope._wrap)):N.endScope&&N.endScope._multi?(g(),
220
+ d(N.endScope,e)):r.skip?R+=t:(r.returnEnd||r.excludeEnd||(R+=t),
221
+ g(),r.excludeEnd&&(R=t));do{
222
+ N.scope&&M.closeNode(),N.skip||N.subLanguage||(A+=N.relevance),N=N.parent
223
+ }while(N!==s.parent);return s.starts&&h(s.starts,e),r.returnEnd?0:t.length}
224
+ let _={};function y(i,r){const a=r&&r[0];if(R+=i,null==a)return g(),0
225
+ ;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){
226
+ if(R+=n.slice(r.index,r.index+1),!o){const t=Error(`0 width match regex (${e})`)
227
+ ;throw t.languageName=e,t.badRule=_.rule,t}return 1}
228
+ if(_=r,"begin"===r.type)return(e=>{
229
+ const n=e[0],i=e.rule,s=new t(i),r=[i.__beforeBegin,i["on:begin"]]
230
+ ;for(const t of r)if(t&&(t(e,s),s.isMatchIgnored))return b(n)
231
+ ;return i.skip?R+=n:(i.excludeBegin&&(R+=n),
232
+ g(),i.returnBegin||i.excludeBegin||(R=n)),h(i,e),i.returnBegin?0:n.length})(r)
233
+ ;if("illegal"===r.type&&!s){
234
+ const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"<unnamed>")+'"')
235
+ ;throw e.mode=N,e}if("end"===r.type){const e=m(r);if(e!==Q)return e}
236
+ if("illegal"===r.type&&""===a)return R+="\n",1
237
+ ;if(I>1e5&&I>3*r.index)throw Error("potential infinite loop, way more iterations than matches")
238
+ ;return R+=a,a.length}const w=O(e)
239
+ ;if(!w)throw z(a.replace("{}",e)),Error('Unknown language: "'+e+'"')
240
+ ;const k=Z(w);let v="",N=r||k;const S={},M=new p.__emitter(p);(()=>{const e=[]
241
+ ;for(let t=N;t!==w;t=t.parent)t.scope&&e.unshift(t.scope)
242
+ ;e.forEach((e=>M.openNode(e)))})();let R="",A=0,j=0,I=0,T=!1;try{
243
+ if(w.__emitTokens)w.__emitTokens(n,M);else{for(N.matcher.considerAll();;){
244
+ I++,T?T=!1:N.matcher.considerAll(),N.matcher.lastIndex=j
245
+ ;const e=N.matcher.exec(n);if(!e)break;const t=y(n.substring(j,e.index),e)
246
+ ;j=e.index+t}y(n.substring(j))}return M.finalize(),v=M.toHTML(),{language:e,
247
+ value:v,relevance:A,illegal:!1,_emitter:M,_top:N}}catch(t){
248
+ if(t.message&&t.message.includes("Illegal"))return{language:e,value:J(n),
249
+ illegal:!0,relevance:0,_illegalBy:{message:t.message,index:j,
250
+ context:n.slice(j-100,j+100),mode:t.mode,resultSoFar:v},_emitter:M};if(o)return{
251
+ language:e,value:J(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:N}
252
+ ;throw t}}function x(e,t){t=t||p.languages||Object.keys(i);const n=(e=>{
253
+ const t={value:J(e),illegal:!1,relevance:0,_top:l,_emitter:new p.__emitter(p)}
254
+ ;return t._emitter.addText(e),t})(e),s=t.filter(O).filter(v).map((t=>E(t,e,!1)))
255
+ ;s.unshift(n);const r=s.sort(((e,t)=>{
256
+ if(e.relevance!==t.relevance)return t.relevance-e.relevance
257
+ ;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1
258
+ ;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=r,c=o
259
+ ;return c.secondBest=a,c}function _(e){let t=null;const n=(e=>{
260
+ let t=e.className+" ";t+=e.parentNode?e.parentNode.className:""
261
+ ;const n=p.languageDetectRe.exec(t);if(n){const t=O(n[1])
262
+ ;return t||(W(a.replace("{}",n[1])),
263
+ W("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}
264
+ return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return
265
+ ;if(N("before:highlightElement",{el:e,language:n
266
+ }),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e)
267
+ ;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),
268
+ console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),
269
+ console.warn("The element with unescaped HTML:"),
270
+ console.warn(e)),p.throwUnescapedHTML))throw new q("One of your code blocks includes unescaped HTML.",e.innerHTML)
271
+ ;t=e;const i=t.textContent,r=n?m(i,{language:n,ignoreIllegals:!0}):x(i)
272
+ ;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,t,n)=>{const i=t&&s[t]||n
273
+ ;e.classList.add("hljs"),e.classList.add("language-"+i)
274
+ })(e,n,r.language),e.result={language:r.language,re:r.relevance,
275
+ relevance:r.relevance},r.secondBest&&(e.secondBest={
276
+ language:r.secondBest.language,relevance:r.secondBest.relevance
277
+ }),N("after:highlightElement",{el:e,result:r,text:i})}let y=!1;function w(){
278
+ if("loading"===document.readyState)return y||window.addEventListener("DOMContentLoaded",(()=>{
279
+ w()}),!1),void(y=!0);document.querySelectorAll(p.cssSelector).forEach(_)}
280
+ function O(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}
281
+ function k(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{
282
+ s[e.toLowerCase()]=t}))}function v(e){const t=O(e)
283
+ ;return t&&!t.disableAutodetect}function N(e,t){const n=e;r.forEach((e=>{
284
+ e[n]&&e[n](t)}))}Object.assign(n,{highlight:m,highlightAuto:x,highlightAll:w,
285
+ highlightElement:_,
286
+ highlightBlock:e=>(X("10.7.0","highlightBlock will be removed entirely in v12.0"),
287
+ X("10.7.0","Please use highlightElement now."),_(e)),configure:e=>{p=Y(p,e)},
288
+ initHighlighting:()=>{
289
+ w(),X("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},
290
+ initHighlightingOnLoad:()=>{
291
+ w(),X("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")
292
+ },registerLanguage:(e,t)=>{let s=null;try{s=t(n)}catch(t){
293
+ if(z("Language definition for '{}' could not be registered.".replace("{}",e)),
294
+ !o)throw t;z(t),s=l}
295
+ s.name||(s.name=e),i[e]=s,s.rawDefinition=t.bind(null,n),s.aliases&&k(s.aliases,{
296
+ languageName:e})},unregisterLanguage:e=>{delete i[e]
297
+ ;for(const t of Object.keys(s))s[t]===e&&delete s[t]},
298
+ listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:k,
299
+ autoDetection:v,inherit:Y,addPlugin:e=>{(e=>{
300
+ e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{
301
+ e["before:highlightBlock"](Object.assign({block:t.el},t))
302
+ }),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{
303
+ e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),r.push(e)},
304
+ removePlugin:e=>{const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}),n.debugMode=()=>{
305
+ o=!1},n.safeMode=()=>{o=!0},n.versionString="11.11.1",n.regex={concat:h,
306
+ lookahead:g,either:f,optional:d,anyNumberOfTimes:u}
307
+ ;for(const t in A)"object"==typeof A[t]&&e(A[t]);return Object.assign(n,A),n
308
+ },te=ee({});te.newInstance=()=>ee({});export{te as default};
@@ -0,0 +1,10 @@
1
+ // @highlightjs/cdn-assets/es/languages/json.min.js@11.11.1 downloaded from https://cdn.jsdelivr.net/npm/@highlightjs/cdn-assets@11.11.1/es/languages/json.min.js
2
+
3
+ /*! `json` grammar compiled for Highlight.js 11.11.1 */
4
+ var hljsGrammar=(()=>{"use strict";return e=>{
5
+ const a=["true","false","null"],r={scope:"literal",beginKeywords:a.join(" ")}
6
+ ;return{name:"JSON",aliases:["jsonc"],keywords:{literal:a},contains:[{
7
+ className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{
8
+ match:/[{}[\],:]/,className:"punctuation",relevance:0
9
+ },e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],
10
+ illegal:"\\S"}}})();export default hljsGrammar;
@@ -0,0 +1,4 @@
1
+ // @lezer/common@1.2.3 downloaded from https://ga.jspm.io/npm:@lezer/common@1.2.3/dist/index.js
2
+
3
+ const e=1024;let t=0;class Range{constructor(e,t){this.from=e;this.to=t}}class NodeProp{constructor(e={}){this.id=t++;this.perNode=!!e.perNode;this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");typeof e!="function"&&(e=NodeType.match(e));return t=>{let r=e(t);return r===void 0?null:[this,r]}}}NodeProp.closedBy=new NodeProp({deserialize:e=>e.split(" ")});NodeProp.openedBy=new NodeProp({deserialize:e=>e.split(" ")});NodeProp.group=new NodeProp({deserialize:e=>e.split(" ")});NodeProp.isolate=new NodeProp({deserialize:e=>{if(e&&e!="rtl"&&e!="ltr"&&e!="auto")throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}});NodeProp.contextHash=new NodeProp({perNode:true});NodeProp.lookAhead=new NodeProp({perNode:true});NodeProp.mounted=new NodeProp({perNode:true});class MountedTree{constructor(e,t,r){this.tree=e;this.overlay=t;this.parser=r}static get(e){return e&&e.props&&e.props[NodeProp.mounted.id]}}const r=Object.create(null);class NodeType{constructor(e,t,r,n=0){this.name=e;this.props=t;this.id=r;this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):r;let n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0);let i=new NodeType(e.name||"",t,e.id,n);if(e.props)for(let r of e.props){Array.isArray(r)||(r=r(i));if(r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return true;let t=this.prop(NodeProp.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let n of r.split(" "))t[n]=e[r];return e=>{for(let r=e.prop(NodeProp.group),n=-1;n<(r?r.length:0);n++){let i=t[n<0?e.name:r[n]];if(i)return i}}}}NodeType.none=new NodeType("",Object.create(null),0,8);class NodeSet{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let n=null;for(let t of e){let e=t(r);if(e){n||(n=Object.assign({},r.props));n[e[0].id]=e[1]}}t.push(n?new NodeType(r.name,n,r.id,r.flags):r)}return new NodeSet(t)}}const n=new WeakMap,i=new WeakMap;var s;(function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers";e[e.IncludeAnonymous=2]="IncludeAnonymous";e[e.IgnoreMounts=4]="IgnoreMounts";e[e.IgnoreOverlays=8]="IgnoreOverlays"})(s||(s={}));class Tree{constructor(e,t,r,n,i){this.type=e;this.children=t;this.positions=r;this.length=n;this.props=null;if(i&&i.length){this.props=Object.create(null);for(let[e,t]of i)this.props[typeof e=="number"?e:e.id]=t}}toString(){let e=MountedTree.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let r=e.toString();if(r){t&&(t+=",");t+=r}}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new TreeCursor(this.topNode,e)}cursorAt(e,t=0,r=0){let i=n.get(this)||this.topNode;let s=new TreeCursor(i);s.moveTo(e,t);n.set(this,s._tree);return s}get topNode(){return new TreeNode(this,0,0,null)}resolve(e,t=0){let r=resolveNode(n.get(this)||this.topNode,e,t,false);n.set(this,r);return r}resolveInner(e,t=0){let r=resolveNode(i.get(this)||this.topNode,e,t,true);i.set(this,r);return r}resolveStack(e,t=0){return stackIterator(this,e,t)}iterate(e){let{enter:t,leave:r,from:n=0,to:i=this.length}=e;let o=e.mode||0,l=(o&s.IncludeAnonymous)>0;for(let e=this.cursor(o|s.IncludeAnonymous);;){let s=false;if(e.from<=i&&e.to>=n&&(!l&&e.type.isAnonymous||t(e)!==false)){if(e.firstChild())continue;s=true}for(;;){s&&r&&(l||!e.type.isAnonymous)&&r(e);if(e.nextSibling())break;if(!e.parent())return;s=true}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,r)=>new Tree(this.type,e,t,r,this.propValues)),e.makeTree||((e,t,r)=>new Tree(NodeType.none,e,t,r)))}static build(e){return buildTree(e)}}Tree.empty=new Tree(NodeType.none,[],[],0);class FlatBufferCursor{constructor(e,t){this.buffer=e;this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}}class TreeBuffer{constructor(e,t,r){this.buffer=e;this.length=t;this.set=r}get type(){return NodeType.none}toString(){let e=[];for(let t=0;t<this.buffer.length;){e.push(this.childString(t));t=this.buffer[t+3]}return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3];let n=this.set.types[t],i=n.name;/\W/.test(i)&&!n.isError&&(i=JSON.stringify(i));e+=4;if(r==e)return i;let s=[];while(e<r){s.push(this.childString(e));e=this.buffer[e+3]}return i+"("+s.join(",")+")"}findChild(e,t,r,n,i){let{buffer:s}=this,o=-1;for(let l=e;l!=t;l=s[l+3])if(checkSide(i,n,s[l+1],s[l+2])){o=l;if(r>0)break}return o}slice(e,t,r){let n=this.buffer;let i=new Uint16Array(t-e),s=0;for(let o=e,l=0;o<t;){i[l++]=n[o++];i[l++]=n[o++]-r;let t=i[l++]=n[o++]-r;i[l++]=n[o++]-e;s=Math.max(s,t)}return new TreeBuffer(i,s,this.set)}}function checkSide(e,t,r,n){switch(e){case-2:return r<t;case-1:return n>=t&&r<t;case 0:return r<t&&n>t;case 1:return r<=t&&n>t;case 2:return n>t;case 4:return true}}function resolveNode(e,t,r,n){var i;while(e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t)){let t=!n&&e instanceof TreeNode&&e.index<0?null:e.parent;if(!t)return e;e=t}let o=n?0:s.IgnoreOverlays;if(n)for(let n=e,s=n.parent;s;n=s,s=n.parent)n instanceof TreeNode&&n.index<0&&((i=s.enter(t,r,o))===null||i===void 0?void 0:i.from)!=n.from&&(e=s);for(;;){let n=e.enter(t,r,o);if(!n)return e;e=n}}class BaseNode{cursor(e=0){return new TreeCursor(this,e)}getChild(e,t=null,r=null){let n=getChildren(this,e,t,r);return n.length?n[0]:null}getChildren(e,t=null,r=null){return getChildren(this,e,t,r)}resolve(e,t=0){return resolveNode(this,e,t,false)}resolveInner(e,t=0){return resolveNode(this,e,t,true)}matchContext(e){return matchNodeContext(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;while(t){let e=t.lastChild;if(!e||e.to!=t.to)break;if(e.type.isError&&e.from==e.to){r=t;t=e.prevSibling}else t=e}return r}get node(){return this}get next(){return this.parent}}class TreeNode extends BaseNode{constructor(e,t,r,n){super();this._tree=e;this.from=t;this.index=r;this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,n,i=0){for(let o=this;;){for(let{children:l,positions:f}=o._tree,h=t>0?l.length:-1;e!=h;e+=t){let h=l[e],u=f[e]+o.from;if(checkSide(n,r,u,u+h.length))if(h instanceof TreeBuffer){if(i&s.ExcludeBuffers)continue;let l=h.findChild(0,h.buffer.length,t,r-u,n);if(l>-1)return new BufferNode(new BufferContext(o,h,e,u),null,l)}else if(i&s.IncludeAnonymous||!h.type.isAnonymous||hasChild(h)){let l;if(!(i&s.IgnoreMounts)&&(l=MountedTree.get(h))&&!l.overlay)return new TreeNode(l.tree,u,e,o);let f=new TreeNode(h,u,e,o);return i&s.IncludeAnonymous||!f.type.isAnonymous?f:f.nextChild(t<0?h.children.length-1:0,t,r,n)}}if(i&s.IncludeAnonymous||!o.type.isAnonymous)return null;e=o.index>=0?o.index+t:t<0?-1:o._parent._tree.children.length;o=o._parent;if(!o)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,r=0){let n;if(!(r&s.IgnoreOverlays)&&(n=MountedTree.get(this._tree))&&n.overlay){let r=e-this.from;for(let{from:e,to:i}of n.overlay)if((t>0?e<=r:e<r)&&(t<0?i>=r:i>r))return new TreeNode(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;while(e.type.isAnonymous&&e._parent)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function getChildren(e,t,r,n){let i=e.cursor(),s=[];if(!i.firstChild())return s;if(r!=null)for(let e=false;!e;){e=i.type.is(r);if(!i.nextSibling())return s}for(;;){if(n!=null&&i.type.is(n))return s;i.type.is(t)&&s.push(i.node);if(!i.nextSibling())return n==null?s:[]}}function matchNodeContext(e,t,r=t.length-1){for(let n=e;r>=0;n=n.parent){if(!n)return false;if(!n.type.isAnonymous){if(t[r]&&t[r]!=n.name)return false;r--}}return true}class BufferContext{constructor(e,t,r,n){this.parent=e;this.buffer=t;this.index=r;this.start=n}}class BufferNode extends BaseNode{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super();this.context=e;this._parent=t;this.index=r;this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:n}=this.context;let i=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return i<0?null:new BufferNode(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,r=0){if(r&s.ExcludeBuffers)return null;let{buffer:n}=this.context;let i=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new BufferNode(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context;let t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new BufferNode(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context;let t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new BufferNode(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[];let{buffer:r}=this.context;let n=this.index+4,i=r.buffer[this.index+3];if(i>n){let s=r.buffer[this.index+1];e.push(r.slice(n,i,s));t.push(0)}return new Tree(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function iterStack(e){if(!e.length)return null;let t=0,r=e[0];for(let n=1;n<e.length;n++){let i=e[n];if(i.from>r.from||i.to<r.to){r=i;t=n}}let n=r instanceof TreeNode&&r.index<0?null:r.parent;let i=e.slice();n?i[t]=n:i.splice(t,1);return new StackIterator(i,r)}class StackIterator{constructor(e,t){this.heads=e;this.node=t}get next(){return iterStack(this.heads)}}function stackIterator(e,t,r){let n=e.resolveInner(t,r),i=null;for(let e=n instanceof TreeNode?n:n.context.parent;e;e=e.parent)if(e.index<0){let s=e.parent;(i||(i=[n])).push(s.resolve(t,r));e=s}else{let s=MountedTree.get(e.tree);if(s&&s.overlay&&s.overlay[0].from<=t&&s.overlay[s.overlay.length-1].to>=t){let o=new TreeNode(s.tree,s.overlay[0].from+e.from,-1,e);(i||(i=[n])).push(resolveNode(o,t,r,false))}}return i?iterStack(i):n}class TreeCursor{get name(){return this.type.name}constructor(e,t=0){this.mode=t;this.buffer=null;this.stack=[];this.index=0;this.bufferNode=null;if(e instanceof TreeNode)this.yieldNode(e);else{this._tree=e.context.parent;this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e;this.yieldBuf(e.index)}}yieldNode(e){if(!e)return false;this._tree=e;this.type=e.type;this.from=e.from;this.to=e.to;return true}yieldBuf(e,t){this.index=e;let{start:r,buffer:n}=this.buffer;this.type=t||n.set.types[n.buffer[e]];this.from=r+n.buffer[e+1];this.to=r+n.buffer[e+2];return true}yield(e){if(!e)return false;if(e instanceof TreeNode){this.buffer=null;return this.yieldNode(e)}this.buffer=e.context;return this.yieldBuf(e.index,e.type)}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:n}=this.buffer;let i=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);if(i<0)return false;this.stack.push(this.index);return this.yieldBuf(i)}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?!(r&s.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&s.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&s.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();this.buffer=null;return this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return false}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return false;({index:t,parent:r}=n)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let n=t+e,i=e<0?-1:r._tree.children.length;n!=i;n+=e){let e=r._tree.children[n];if(this.mode&s.IncludeAnonymous||e instanceof TreeBuffer||!e.type.isAnonymous||hasChild(e))return false}return true}move(e,t){if(t&&this.enterChild(e,0,4))return true;for(;;){if(this.sibling(e))return true;if(this.atLastNode(e)||!this.parent())return false}}next(e=true){return this.move(1,e)}prev(e=true){return this.move(-1,e)}moveTo(e,t=0){while(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))if(!this.parent())break;while(this.enterChild(1,e,t));return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==n){if(n==this.index)return s;t=s;r=i+1;break e}n=this.stack[--i]}for(let e=r;e<this.stack.length;e++)t=new BufferNode(this.buffer,t,this.stack[e]);return this.bufferNode=new BufferNode(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let n=false;if(this.type.isAnonymous||e(this)!==false){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=true)}for(;;){n&&t&&t(this);n=this.type.isAnonymous;if(!r)return;if(this.nextSibling())break;this.parent();r--;n=true}}}matchContext(e){if(!this.buffer)return matchNodeContext(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let n=e.length-1,i=this.stack.length-1;n>=0;i--){if(i<0)return matchNodeContext(this._tree,e,n);let s=r[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[n]&&e[n]!=s.name)return false;n--}}return true}}function hasChild(e){return e.children.some((e=>e instanceof TreeBuffer||!e.type.isAnonymous||hasChild(e)))}function buildTree(t){var r;let{buffer:n,nodeSet:i,maxBufferLength:s=e,reused:o=[],minRepeatType:l=i.types.length}=t;let f=Array.isArray(n)?new FlatBufferCursor(n,n.length):n;let h=i.types;let u=0,a=0;function takeNode(e,t,r,n,d,p){let{id:c,start:g,end:m,size:x}=f;let y=a,b=u;while(x<0){f.next();if(x==-1){let t=o[c];r.push(t);n.push(g-e);return}if(x==-3){u=c;return}if(x==-4){a=c;return}throw new RangeError(`Unrecognized record size: ${x}`)}let N,w,v=h[c];let T=g-e;if(m-g<=s&&(w=findBufferSize(f.pos-t,d))){let t=new Uint16Array(w.size-w.skip);let r=f.pos-w.size,n=t.length;while(f.pos>r)n=copyToBuffer(w.start,t,n);N=new TreeBuffer(t,m-w.start,i);T=w.start-e}else{let e=f.pos-x;f.next();let t=[],r=[];let n=c>=l?c:-1;let i=0,o=m;while(f.pos>e)if(n>=0&&f.id==n&&f.size>=0){if(f.end<=o-s){makeRepeatLeaf(t,r,g,i,f.end,o,n,y,b);i=t.length;o=f.end}f.next()}else p>2500?takeFlatNode(g,e,t,r):takeNode(g,e,t,r,n,p+1);n>=0&&i>0&&i<t.length&&makeRepeatLeaf(t,r,g,i,g,o,n,y,b);t.reverse();r.reverse();if(n>-1&&i>0){let e=makeBalanced(v,b);N=balanceRange(v,t,r,0,t.length,0,m-g,e,e)}else N=makeTree(v,t,r,m-g,y-m,b)}r.push(N);n.push(T)}function takeFlatNode(e,t,r,n){let o=[];let l=0,h=-1;while(f.pos>t){let{id:e,start:t,end:r,size:n}=f;if(n>4)f.next();else{if(h>-1&&t<h)break;h<0&&(h=r-s);o.push(e,t,r);l++;f.next()}}if(l){let t=new Uint16Array(l*4);let s=o[o.length-2];for(let e=o.length-3,r=0;e>=0;e-=3){t[r++]=o[e];t[r++]=o[e+1]-s;t[r++]=o[e+2]-s;t[r++]=r}r.push(new TreeBuffer(t,o[2]-s,i));n.push(s-e)}}function makeBalanced(e,t){return(r,n,i)=>{let s,o,l=0,f=r.length-1;if(f>=0&&(s=r[f])instanceof Tree){if(!f&&s.type==e&&s.length==i)return s;(o=s.prop(NodeProp.lookAhead))&&(l=n[f]+s.length+o)}return makeTree(e,r,n,i,l,t)}}function makeRepeatLeaf(e,t,r,n,s,o,l,f,h){let u=[],a=[];while(e.length>n){u.push(e.pop());a.push(t.pop()+r-s)}e.push(makeTree(i.types[l],u,a,o-s,f-o,h));t.push(s-r)}function makeTree(e,t,r,n,i,s,o){if(s){let e=[NodeProp.contextHash,s];o=o?[e].concat(o):[e]}if(i>25){let e=[NodeProp.lookAhead,i];o=o?[e].concat(o):[e]}return new Tree(e,t,r,n,o)}function findBufferSize(e,t){let r=f.fork();let n=0,i=0,o=0,h=r.end-s;let u={size:0,start:0,skip:0};e:for(let s=r.pos-e;r.pos>s;){let e=r.size;if(r.id==t&&e>=0){u.size=n;u.start=i;u.skip=o;o+=4;n+=4;r.next();continue}let f=r.pos-e;if(e<0||f<s||r.start<h)break;let a=r.id>=l?4:0;let d=r.start;r.next();while(r.pos>f){if(r.size<0){if(r.size!=-3)break e;a+=4}else r.id>=l&&(a+=4);r.next()}i=d;n+=e;o+=a}if(t<0||n==e){u.size=n;u.start=i;u.skip=o}return u.size>4?u:void 0}function copyToBuffer(e,t,r){let{id:n,start:i,end:s,size:o}=f;f.next();if(o>=0&&n<l){let l=r;if(o>4){let n=f.pos-(o-4);while(f.pos>n)r=copyToBuffer(e,t,r)}t[--r]=l;t[--r]=s-e;t[--r]=i-e;t[--r]=n}else o==-3?u=n:o==-4&&(a=n);return r}let d=[],p=[];while(f.pos>0)takeNode(t.start||0,t.bufferStart||0,d,p,-1,0);let c=(r=t.length)!==null&&r!==void 0?r:d.length?p[0]+d[0].length:0;return new Tree(h[t.topID],d.reverse(),p.reverse(),c)}const o=new WeakMap;function nodeSize(e,t){if(!e.isAnonymous||t instanceof TreeBuffer||t.type!=e)return 1;let r=o.get(t);if(r==null){r=1;for(let n of t.children){if(n.type!=e||!(n instanceof Tree)){r=1;break}r+=nodeSize(e,n)}o.set(t,r)}return r}function balanceRange(e,t,r,n,i,s,o,l,f){let h=0;for(let r=n;r<i;r++)h+=nodeSize(e,t[r]);let u=Math.ceil(h*1.5/8);let a=[],d=[];function divide(t,r,n,i,o){for(let l=n;l<i;){let n=l,h=r[l],p=nodeSize(e,t[l]);l++;for(;l<i;l++){let r=nodeSize(e,t[l]);if(p+r>=u)break;p+=r}if(l==n+1){if(p>u){let e=t[n];divide(e.children,e.positions,0,e.children.length,r[n]+o);continue}a.push(t[n])}else{let i=r[l-1]+t[l-1].length-h;a.push(balanceRange(e,t,r,n,l,h,i,null,f))}d.push(h+o-s)}}divide(t,r,n,i,0);return(l||f)(a,d,o)}class NodeWeakMap{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let n=this.map.get(e);n||this.map.set(e,n=new Map);n.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof BufferNode?this.setBuffer(e.context.buffer,e.index,t):e instanceof TreeNode&&this.map.set(e.tree,t)}get(e){return e instanceof BufferNode?this.getBuffer(e.context.buffer,e.index):e instanceof TreeNode?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class TreeFragment{constructor(e,t,r,n,i=false,s=false){this.from=e;this.to=t;this.tree=r;this.offset=n;this.open=(i?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=false){let n=[new TreeFragment(0,e.length,e,0,false,r)];for(let r of t)r.to>e.length&&n.push(r);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[];let i=1,s=e.length?e[0]:null;for(let o=0,l=0,f=0;;o++){let h=o<t.length?t[o]:null;let u=h?h.fromA:1e9;if(u-l>=r)while(s&&s.from<u){let t=s;if(l>=t.from||u<=t.to||f){let e=Math.max(t.from,l)-f,r=Math.min(t.to,u)-f;t=e>=r?null:new TreeFragment(e,r,t.tree,t.offset+f,o>0,!!h)}t&&n.push(t);if(s.to>u)break;s=i<e.length?e[i++]:null}if(!h)break;l=h.toA;f=h.toA-h.toB}return n}}class Parser{startParse(e,t,r){typeof e=="string"&&(e=new StringInput(e));r=r?r.length?r.map((e=>new Range(e.from,e.to))):[new Range(0,0)]:[new Range(0,e.length)];return this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let e=n.advance();if(e)return e}}}class StringInput{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return false}read(e,t){return this.string.slice(e,t)}}function parseMixed(e){return(t,r,n,i)=>new MixedParse(t,e,r,n,i)}class InnerParse{constructor(e,t,r,n,i){this.parser=e;this.parse=t;this.overlay=r;this.target=n;this.from=i}}function checkRanges(e){if(!e.length||e.some((e=>e.from>=e.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class ActiveOverlay{constructor(e,t,r,n,i,s,o){this.parser=e;this.predicate=t;this.mounts=r;this.index=n;this.start=i;this.target=s;this.prev=o;this.depth=0;this.ranges=[]}}const l=new NodeProp({perNode:true});class MixedParse{constructor(e,t,r,n,i){this.nest=t;this.input=r;this.fragments=n;this.ranges=i;this.inner=[];this.innerDone=0;this.baseTree=null;this.stoppedAt=null;this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;this.baseParse=null;this.baseTree=e;this.startInner();if(this.stoppedAt!=null)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;this.stoppedAt!=null&&(e=new Tree(e.type,e.children,e.positions,e.length,e.propValues.concat([[l,this.stoppedAt]])));return e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[NodeProp.mounted.id]=new MountedTree(t,e.overlay,e.parser);e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){this.stoppedAt=e;if(this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new FragmentCursor(this.fragments);let t=null;let r=null;let n=new TreeCursor(new TreeNode(this.baseTree,this.ranges[0].from,0,null),s.IncludeAnonymous|s.IgnoreMounts);e:for(let i,s;;){let o,l=true;if(this.stoppedAt!=null&&n.from>=this.stoppedAt)l=false;else if(e.hasNode(n)){if(t){let e=t.mounts.find((e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay));if(e)for(let r of e.mount.overlay){let i=r.from+e.pos,s=r.to+e.pos;i>=n.from&&s<=n.to&&!t.ranges.some((e=>e.from<s&&e.to>i))&&t.ranges.push({from:i,to:s})}}l=false}else if(r&&(s=checkCover(r.ranges,n.from,n.to)))l=s!=2;else if(!n.type.isAnonymous&&(i=this.nest(n,this.input))&&(n.from<n.to||!i.overlay)){n.tree||materialize(n);let s=e.findMounts(n.from,i.parser);if(typeof i.overlay=="function")t=new ActiveOverlay(i.parser,i.overlay,s,this.inner.length,n.from,n.tree,t);else{let e=punchRanges(this.ranges,i.overlay||(n.from<n.to?[new Range(n.from,n.to)]:[]));e.length&&checkRanges(e);!e.length&&i.overlay||this.inner.push(new InnerParse(i.parser,e.length?i.parser.startParse(this.input,enterFragments(s,e),e):i.parser.startParse(""),i.overlay?i.overlay.map((e=>new Range(e.from-n.from,e.to-n.from))):null,n.tree,e.length?e[0].from:n.from));i.overlay?e.length&&(r={ranges:e,depth:0,prev:r}):l=false}}else if(t&&(o=t.predicate(n))){o===true&&(o=new Range(n.from,n.to));if(o.from<o.to){let e=t.ranges.length-1;e>=0&&t.ranges[e].to==o.from?t.ranges[e]={from:t.ranges[e].from,to:o.to}:t.ranges.push(o)}}if(l&&n.firstChild()){t&&t.depth++;r&&r.depth++}else for(;;){if(n.nextSibling())break;if(!n.parent())break e;if(t&&! --t.depth){let e=punchRanges(this.ranges,t.ranges);if(e.length){checkRanges(e);this.inner.splice(t.index,0,new InnerParse(t.parser,t.parser.startParse(this.input,enterFragments(t.mounts,e),e),t.ranges.map((e=>new Range(e.from-t.start,e.to-t.start))),t.target,e[0].from))}t=t.prev}r&&! --r.depth&&(r=r.prev)}}}}function checkCover(e,t,r){for(let n of e){if(n.from>=r)break;if(n.to>t)return n.from<=t&&n.to>=r?2:1}return 0}function sliceBuf(e,t,r,n,i,s){if(t<r){let o=e.buffer[t+1];n.push(e.slice(t,r,o));i.push(o-s)}}function materialize(e){let{node:t}=e,r=[];let n=t.context.buffer;do{r.push(e.index);e.parent()}while(!e.tree);let i=e.tree,s=i.children.indexOf(n);let o=i.children[s],l=o.buffer,f=[s];function split(e,n,i,s,h,u){let a=r[u];let d=[],p=[];sliceBuf(o,e,a,d,p,s);let c=l[a+1],g=l[a+2];f.push(d.length);let m=u?split(a+4,l[a+3],o.set.types[l[a]],c,g-c,u-1):t.toTree();d.push(m);p.push(c-s);sliceBuf(o,l[a+3],n,d,p,s);return new Tree(i,d,p,h)}i.children[s]=split(0,l.length,NodeType.none,0,o.length,r.length-1);for(let t of f){let r=e.tree.children[t],n=e.tree.positions[t];e.yield(new TreeNode(r,n+e.from,t,e._tree))}}class StructureCursor{constructor(e,t){this.offset=t;this.done=false;this.cursor=e.cursor(s.IncludeAnonymous|s.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;while(!this.done&&t.from<r)t.to>=e&&t.enter(r,1,s.IgnoreOverlays|s.ExcludeBuffers)||t.next(false)||(this.done=true)}hasNode(e){this.moveTo(e.from);if(!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return true;if(!(t.children.length&&t.positions[0]==0&&t.children[0]instanceof Tree))break;t=t.children[0]}return false}}class FragmentCursor{constructor(e){var t;this.fragments=e;this.curTo=0;this.fragI=0;if(e.length){let r=this.curFrag=e[0];this.curTo=(t=r.tree.prop(l))!==null&&t!==void 0?t:r.to;this.inner=new StructureCursor(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){while(this.curFrag&&e.from>=this.curTo)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;this.fragI++;if(this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(l))!==null&&e!==void 0?e:t.to;this.inner=new StructureCursor(t.tree,-t.offset)}}findMounts(e,t){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let i=(r=e.tree)===null||r===void 0?void 0:r.prop(NodeProp.mounted);if(i&&i.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let r=this.fragments[t];if(r.from>=e.to)break;r.tree==this.curFrag.tree&&n.push({frag:r,pos:e.from-r.offset,mount:i})}}}return n}}function punchRanges(e,t){let r=null,n=t;for(let i=1,s=0;i<e.length;i++){let o=e[i-1].to,l=e[i].from;for(;s<n.length;s++){let e=n[s];if(e.from>=l)break;if(!(e.to<=o)){r||(n=r=t.slice());if(e.from<o){r[s]=new Range(e.from,o);e.to>l&&r.splice(s+1,0,new Range(l,e.to))}else e.to>l?r[s--]=new Range(l,e.to):r.splice(s--,1)}}}return n}function findCoverChanges(e,t,r,n){let i=0,s=0,o=false,l=false,f=-1e9;let h=[];for(;;){let u=i==e.length?1e9:o?e[i].to:e[i].from;let a=s==t.length?1e9:l?t[s].to:t[s].from;if(o!=l){let e=Math.max(f,r),t=Math.min(u,a,n);e<t&&h.push(new Range(e,t))}f=Math.min(u,a);if(f==1e9)break;if(u==f)if(o){o=false;i++}else o=true;if(a==f)if(l){l=false;s++}else l=true}return h}function enterFragments(e,t){let r=[];for(let{pos:n,mount:i,frag:s}of e){let e=n+(i.overlay?i.overlay[0].from:0),o=e+i.tree.length;let l=Math.max(s.from,e),f=Math.min(s.to,o);if(i.overlay){let o=i.overlay.map((e=>new Range(e.from+n,e.to+n)));let h=findCoverChanges(t,o,l,f);for(let t=0,n=l;;t++){let o=t==h.length,l=o?f:h[t].from;l>n&&r.push(new TreeFragment(n,l,i.tree,-e,s.from>=n||s.openStart,s.to<=l||s.openEnd));if(o)break;n=h[t].to}}else r.push(new TreeFragment(l,f,i.tree,-e,s.from>=e||s.openStart,s.to<=o||s.openEnd))}return r}export{e as DefaultBufferLength,s as IterMode,MountedTree,NodeProp,NodeSet,NodeType,NodeWeakMap,Parser,Tree,TreeBuffer,TreeCursor,TreeFragment,parseMixed};
4
+
@@ -0,0 +1,4 @@
1
+ // @lezer/highlight@1.2.1 downloaded from https://ga.jspm.io/npm:@lezer/highlight@1.2.1/dist/index.js
2
+
3
+ import{NodeProp as t}from"@lezer/common";let e=0;class Tag{constructor(t,a,i,r){this.name=t;this.set=a;this.base=i;this.modified=r;this.id=e++}toString(){let{name:t}=this;for(let e of this.modified)e.name&&(t=`${e.name}(${t})`);return t}static define(t,e){let a=typeof t=="string"?t:"?";t instanceof Tag&&(e=t);if(e===null||e===void 0?void 0:e.base)throw new Error("Can not derive from a modified tag");let i=new Tag(a,[],null,[]);i.set.push(i);if(e)for(let t of e.set)i.set.push(t);return i}static defineModifier(t){let e=new Modifier(t);return t=>t.modified.indexOf(e)>-1?t:Modifier.get(t.base||t,t.modified.concat(e).sort(((t,e)=>t.id-e.id)))}}let a=0;class Modifier{constructor(t){this.name=t;this.instances=[];this.id=a++}static get(t,e){if(!e.length)return t;let a=e[0].instances.find((a=>a.base==t&&sameArray(e,a.modified)));if(a)return a;let i=[],r=new Tag(t.name,i,t,e);for(let t of e)t.instances.push(r);let o=powerSet(e);for(let e of t.set)if(!e.modified.length)for(let t of o)i.push(Modifier.get(e,t));return r}}function sameArray(t,e){return t.length==e.length&&t.every(((t,a)=>t==e[a]))}function powerSet(t){let e=[[]];for(let a=0;a<t.length;a++)for(let i=0,r=e.length;i<r;i++)e.push(e[i].concat(t[a]));return e.sort(((t,e)=>e.length-t.length))}function styleTags(t){let e=Object.create(null);for(let a in t){let i=t[a];Array.isArray(i)||(i=[i]);for(let t of a.split(" "))if(t){let a=[],r=2,o=t;for(let e=0;;){if(o=="..."&&e>0&&e+3==t.length){r=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!i)throw new RangeError("Invalid path: "+t);a.push(i[0]=="*"?"":i[0][0]=='"'?JSON.parse(i[0]):i[0]);e+=i[0].length;if(e==t.length)break;let l=t[e++];if(e==t.length&&l=="!"){r=0;break}if(l!="/")throw new RangeError("Invalid path: "+t);o=t.slice(e)}let l=a.length-1,s=a[l];if(!s)throw new RangeError("Invalid path: "+t);let n=new Rule(i,r,l>0?a.slice(0,l):null);e[s]=n.sort(e[s])}}return i.add(e)}const i=new t;class Rule{constructor(t,e,a,i){this.tags=t;this.mode=e;this.context=a;this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){if(!t||t.depth<this.depth){this.next=t;return this}t.next=this.sort(t.next);return t}get depth(){return this.context?this.context.length:0}}Rule.empty=new Rule([],2,null);function tagHighlighter(t,e){let a=Object.create(null);for(let e of t)if(Array.isArray(e.tag))for(let t of e.tag)a[t.id]=e.class;else a[e.tag.id]=e.class;let{scope:i,all:r=null}=e||{};return{style:t=>{let e=r;for(let i of t)for(let t of i.set){let i=a[t.id];if(i){e=e?e+" "+i:i;break}}return e},scope:i}}function highlightTags(t,e){let a=null;for(let i of t){let t=i.style(e);t&&(a=a?a+" "+t:t)}return a}function highlightTree(t,e,a,i=0,r=t.length){let o=new HighlightBuilder(i,Array.isArray(e)?e:[e],a);o.highlightRange(t.cursor(),i,r,"",o.highlighters);o.flush(r)}function highlightCode(t,e,a,i,r,o=0,l=t.length){let s=o;function writeTo(e,a){if(!(e<=s)){for(let o=t.slice(s,e),l=0;;){let t=o.indexOf("\n",l);let e=t<0?o.length:t;e>l&&i(o.slice(l,e),a);if(t<0)break;r();l=t+1}s=e}}highlightTree(e,a,((t,e,a)=>{writeTo(t,"");writeTo(e,a)}),o,l);writeTo(l,"")}class HighlightBuilder{constructor(t,e,a){this.at=t;this.highlighters=e;this.span=a;this.class=""}startSpan(t,e){if(e!=this.class){this.flush(t);t>this.at&&(this.at=t);this.class=e}}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(e,a,i,r,o){let{type:l,from:s,to:n}=e;if(s>=i||n<=a)return;l.isTop&&(o=this.highlighters.filter((t=>!t.scope||t.scope(l))));let h=r;let g=getStyleTags(e)||Rule.empty;let c=highlightTags(o,g.tags);if(c){h&&(h+=" ");h+=c;g.mode==1&&(r+=(r?" ":"")+c)}this.startSpan(Math.max(a,s),h);if(g.opaque)return;let f=e.tree&&e.tree.prop(t.mounted);if(f&&f.overlay){let t=e.node.enter(f.overlay[0].from+s,1);let l=this.highlighters.filter((t=>!t.scope||t.scope(f.tree.type)));let g=e.firstChild();for(let c=0,d=s;;c++){let m=c<f.overlay.length?f.overlay[c]:null;let p=m?m.from+s:n;let u=Math.max(a,d),k=Math.min(i,p);if(u<k&&g)while(e.from<k){this.highlightRange(e,u,k,r,o);this.startSpan(Math.min(k,e.to),h);if(e.to>=p||!e.nextSibling())break}if(!m||p>i)break;d=m.to+s;if(d>a){this.highlightRange(t.cursor(),Math.max(a,m.from+s),Math.min(i,d),"",l);this.startSpan(Math.min(i,d),h)}}g&&e.parent()}else if(e.firstChild()){f&&(r="");do{if(!(e.to<=a)){if(e.from>=i)break;this.highlightRange(e,a,i,r,o);this.startSpan(Math.min(i,e.to),h)}}while(e.nextSibling());e.parent()}}}function getStyleTags(t){let e=t.type.prop(i);while(e&&e.context&&!t.matchContext(e.context))e=e.next;return e||null}const r=Tag.define;const o=r(),l=r(),s=r(l),n=r(l),h=r(),g=r(h),c=r(h),f=r(),d=r(f),m=r(),p=r(),u=r(),k=r(u),y=r();const b={comment:o,lineComment:r(o),blockComment:r(o),docComment:r(o),name:l,variableName:r(l),typeName:s,tagName:r(s),propertyName:n,attributeName:r(n),className:r(l),labelName:r(l),namespace:r(l),macroName:r(l),literal:h,string:g,docString:r(g),character:r(g),attributeValue:r(g),number:c,integer:r(c),float:r(c),bool:r(h),regexp:r(h),escape:r(h),color:r(h),url:r(h),keyword:m,self:r(m),null:r(m),atom:r(m),unit:r(m),modifier:r(m),operatorKeyword:r(m),controlKeyword:r(m),definitionKeyword:r(m),moduleKeyword:r(m),operator:p,derefOperator:r(p),arithmeticOperator:r(p),logicOperator:r(p),bitwiseOperator:r(p),compareOperator:r(p),updateOperator:r(p),definitionOperator:r(p),typeOperator:r(p),controlOperator:r(p),punctuation:u,separator:r(u),bracket:k,angleBracket:r(k),squareBracket:r(k),paren:r(k),brace:r(k),content:f,heading:d,heading1:r(d),heading2:r(d),heading3:r(d),heading4:r(d),heading5:r(d),heading6:r(d),contentSeparator:r(f),list:r(f),quote:r(f),emphasis:r(f),strong:r(f),link:r(f),monospace:r(f),strikethrough:r(f),inserted:r(),deleted:r(),changed:r(),invalid:r(),meta:y,documentMeta:r(y),annotation:r(y),processingInstruction:r(y),definition:Tag.defineModifier("definition"),constant:Tag.defineModifier("constant"),function:Tag.defineModifier("function"),standard:Tag.defineModifier("standard"),local:Tag.defineModifier("local"),special:Tag.defineModifier("special")};for(let t in b){let e=b[t];e instanceof Tag&&(e.name=t)}const w=tagHighlighter([{tag:b.link,class:"tok-link"},{tag:b.heading,class:"tok-heading"},{tag:b.emphasis,class:"tok-emphasis"},{tag:b.strong,class:"tok-strong"},{tag:b.keyword,class:"tok-keyword"},{tag:b.atom,class:"tok-atom"},{tag:b.bool,class:"tok-bool"},{tag:b.url,class:"tok-url"},{tag:b.labelName,class:"tok-labelName"},{tag:b.inserted,class:"tok-inserted"},{tag:b.deleted,class:"tok-deleted"},{tag:b.literal,class:"tok-literal"},{tag:b.string,class:"tok-string"},{tag:b.number,class:"tok-number"},{tag:[b.regexp,b.escape,b.special(b.string)],class:"tok-string2"},{tag:b.variableName,class:"tok-variableName"},{tag:b.local(b.variableName),class:"tok-variableName tok-local"},{tag:b.definition(b.variableName),class:"tok-variableName tok-definition"},{tag:b.special(b.variableName),class:"tok-variableName2"},{tag:b.definition(b.propertyName),class:"tok-propertyName tok-definition"},{tag:b.typeName,class:"tok-typeName"},{tag:b.namespace,class:"tok-namespace"},{tag:b.className,class:"tok-className"},{tag:b.macroName,class:"tok-macroName"},{tag:b.propertyName,class:"tok-propertyName"},{tag:b.operator,class:"tok-operator"},{tag:b.comment,class:"tok-comment"},{tag:b.meta,class:"tok-meta"},{tag:b.invalid,class:"tok-invalid"},{tag:b.punctuation,class:"tok-punctuation"}]);export{Tag,w as classHighlighter,getStyleTags,highlightCode,highlightTree,styleTags,tagHighlighter,b as tags};
4
+
@@ -0,0 +1,4 @@
1
+ // @lezer/json@1.0.3 downloaded from https://ga.jspm.io/npm:@lezer/json@1.0.3/dist/index.js
2
+
3
+ import{LRParser as O}from"@lezer/lr";import{styleTags as P,tags as e}from"@lezer/highlight";const Q=P({String:e.string,Number:e.number,"True False":e.bool,PropertyName:e.propertyName,Null:e.null,", :":e.separator,"[ ]":e.squareBracket,"{ }":e.brace});const r=O.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Q],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});export{r as parser};
4
+
@@ -0,0 +1,4 @@
1
+ // @lezer/lr@1.4.2 downloaded from https://ga.jspm.io/npm:@lezer/lr@1.4.2/dist/index.js
2
+
3
+ import{IterMode as t,Tree as e,NodeProp as s,Parser as i,NodeSet as r,NodeType as h,DefaultBufferLength as n}from"@lezer/common";class Stack{constructor(t,e,s,i,r,h,n,o,a,l=0,c){this.p=t;this.stack=e;this.state=s;this.reducePos=i;this.pos=r;this.score=h;this.buffer=n;this.bufferBase=o;this.curContext=a;this.lookAhead=l;this.parent=c}toString(){return`[${this.stack.filter(((t,e)=>e%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new Stack(t,[],e,s,s,0,[],0,i?new StackContext(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length);this.state=t}reduce(t){var e;let s=t>>19,i=t&65535;let{parser:r}=this.p;let h=this.reducePos<this.pos-25;h&&this.setLookAhead(this.pos);let n=r.dynamicPrecedence(i);n&&(this.score+=n);if(s==0){this.pushState(r.getGoto(this.state,i,true),this.reducePos);i<r.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,h?8:4,true);this.reduceContext(i,this.reducePos);return}let o=this.stack.length-3*(s-1)-(t&262144?6:0);let a=o?this.stack[o-2]:this.p.ranges[0].from,l=this.reducePos-a;if(l>=2e3&&!((e=this.p.parser.nodeSet.types[i])===null||e===void 0?void 0:e.isAnonymous))if(a==this.p.lastBigReductionStart){this.p.bigReductionCount++;this.p.lastBigReductionSize=l}else if(this.p.lastBigReductionSize<l){this.p.bigReductionCount=1;this.p.lastBigReductionStart=a;this.p.lastBigReductionSize=l}let c=o?this.stack[o-1]:0,u=this.bufferBase+this.buffer.length-c;if(i<r.minRepeatTerm||t&131072){let t=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,a,t,u+4,true)}if(t&262144)this.state=this.stack[o];else{let t=this.stack[o-3];this.state=r.getGoto(t,i,true)}while(this.stack.length>o)this.stack.pop();this.reduceContext(i,a)}storeNode(t,e,s,i=4,r=false){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let t=this,i=this.buffer.length;if(i==0&&t.parent){i=t.bufferBase-t.parent.bufferBase;t=t.parent}if(i>0&&t.buffer[i-4]==0&&t.buffer[i-1]>-1){if(e==s)return;if(t.buffer[i-2]>=e){t.buffer[i-2]=s;return}}}if(r&&this.pos!=s){let r=this.buffer.length;if(r>0&&this.buffer[r-4]!=0){let t=false;for(let e=r;e>0&&this.buffer[e-2]>s;e-=4)if(this.buffer[e-1]>=0){t=true;break}if(t)while(r>0&&this.buffer[r-2]>s){this.buffer[r]=this.buffer[r-4];this.buffer[r+1]=this.buffer[r-3];this.buffer[r+2]=this.buffer[r-2];this.buffer[r+3]=this.buffer[r-1];r-=4;i>4&&(i-=4)}}this.buffer[r]=t;this.buffer[r+1]=e;this.buffer[r+2]=s;this.buffer[r+3]=i}else this.buffer.push(t,e,s,i)}shift(t,e,s,i){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let r=t,{parser:h}=this.p;if(i>this.pos||e<=h.maxNode){this.pos=i;h.stateFlag(r,1)||(this.reducePos=i)}this.pushState(r,s);this.shiftContext(e,s);e<=h.maxNode&&this.buffer.push(e,s,i,4)}else{this.pos=i;this.shiftContext(e,s);e<=this.p.parser.maxNode&&this.buffer.push(e,s,i,4)}}apply(t,e,s,i){t&65536?this.reduce(t):this.shift(t,e,s,i)}useNode(t,e){let s=this.p.reused.length-1;if(s<0||this.p.reused[s]!=t){this.p.reused.push(t);s++}let i=this.pos;this.reducePos=this.pos=i+t.length;this.pushState(e,i);this.buffer.push(s,i,this.reducePos,-1);this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this;let e=t.buffer.length;while(e>0&&t.buffer[e-2]>t.reducePos)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;while(t&&i==t.bufferBase)t=t.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;s&&this.storeNode(t,this.pos,e,4);this.storeNode(0,this.pos,e,s?8:4);this.pos=this.reducePos=e;this.score-=190}canShift(t){for(let e=new SimulatedStack(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(s==0)return false;if((s&65536)==0)return true;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let s=[];for(let i,r=0;r<e.length;r+=2)(i=e[r+1])!=this.state&&this.p.parser.hasAction(i,t)&&s.push(e[r],i);if(this.stack.length<120)for(let t=0;s.length<8&&t<e.length;t+=2){let i=e[t+1];s.some(((t,e)=>e&1&&t==i))||s.push(e[t],i)}e=s}let s=[];for(let t=0;t<e.length&&s.length<4;t+=2){let i=e[t+1];if(i==this.state)continue;let r=this.split();r.pushState(i,this.pos);r.storeNode(0,r.pos,r.pos,4,true);r.shiftContext(e[t],this.pos);r.reducePos=this.pos;r.score-=200;s.push(r)}return s}forceReduce(){let{parser:t}=this.p;let e=t.stateSlot(this.state,5);if((e&65536)==0)return false;if(!t.validAction(this.state,e)){let s=e>>19,i=e&65535;let r=this.stack.length-s*3;if(r<0||t.getGoto(this.stack[r],i,false)<0){let t=this.findForcedReduction();if(t==null)return false;e=t}this.storeNode(0,this.pos,this.pos,4,true);this.score-=100}this.reducePos=this.pos;this.reduce(e);return true}findForcedReduction(){let{parser:t}=this.p,e=[];let explore=(s,i)=>{if(!e.includes(s)){e.push(s);return t.allActions(s,(e=>{if(e&393216);else if(e&65536){let s=(e>>19)-i;if(s>1){let i=e&65535,r=this.stack.length-s*3;if(r>=0&&t.getGoto(this.stack[r],i,false)>=0)return s<<19|65536|i}}else{let t=explore(e,i+1);if(t!=null)return t}}))}};return explore(this.state,0)}forceAll(){while(!this.p.parser.stateFlag(this.state,2))if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,true);break}return this}get deadEnd(){if(this.stack.length!=3)return false;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,true);this.state=this.stack[0];this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return false;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return false;return true}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new StackContext(this.curContext.tracker,t);e.hash!=this.curContext.hash&&this.emitContext();this.curContext=e}}setLookAhead(t){if(t>this.lookAhead){this.emitLookAhead();this.lookAhead=t}}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext();this.lookAhead>0&&this.emitLookAhead()}}class StackContext{constructor(t,e){this.tracker=t;this.context=e;this.hash=t.strict?t.hash(e):0}}class SimulatedStack{constructor(t){this.start=t;this.state=t.state;this.stack=t.stack;this.base=this.stack.length}reduce(t){let e=t&65535,s=t>>19;if(s==0){this.stack==this.start.stack&&(this.stack=this.stack.slice());this.stack.push(this.state,0,0);this.base+=3}else this.base-=3*(s-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,true);this.state=i}}class StackBufferCursor{constructor(t,e,s){this.stack=t;this.pos=e;this.index=s;this.buffer=t.buffer;this.index==0&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new StackBufferCursor(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;if(t!=null){this.index=this.stack.bufferBase-t.bufferBase;this.stack=t;this.buffer=t.buffer}}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4;this.pos-=4;this.index==0&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}}function decodeArray(t,e=Uint16Array){if(typeof t!="string")return t;let s=null;for(let i=0,r=0;i<t.length;){let h=0;for(;;){let e=t.charCodeAt(i++),s=false;if(e==126){h=65535;break}e>=92&&e--;e>=34&&e--;let r=e-32;if(r>=46){r-=46;s=true}h+=r;if(s)break;h*=46}s?s[r++]=h:s=new e(h)}return s}class CachedToken{constructor(){this.start=-1;this.value=-1;this.end=-1;this.extended=-1;this.lookAhead=0;this.mask=0;this.context=0}}const o=new CachedToken;class InputStream{constructor(t,e){this.input=t;this.ranges=e;this.chunk="";this.chunkOff=0;this.chunk2="";this.chunk2Pos=0;this.next=-1;this.token=o;this.rangeIndex=0;this.pos=this.chunkPos=e[0].from;this.range=e[0];this.end=e[e.length-1].to;this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex;let r=this.pos+t;while(r<s.from){if(!i)return null;let t=this.ranges[--i];r-=s.from-t.to;s=t}while(e<0?r>s.to:r>=s.to){if(i==this.ranges.length-1)return null;let t=this.ranges[++i];r+=t.from-s.to;s=t}return r}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e,s,i=this.chunkOff+t;if(i>=0&&i<this.chunk.length){e=this.pos+t;s=this.chunk.charCodeAt(i)}else{let i=this.resolveOffset(t,1);if(i==null)return-1;e=i;if(e>=this.chunk2Pos&&e<this.chunk2Pos+this.chunk2.length)s=this.chunk2.charCodeAt(e-this.chunk2Pos);else{let t=this.rangeIndex,i=this.range;while(i.to<=e)i=this.ranges[++t];this.chunk2=this.input.chunk(this.chunk2Pos=e);e+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-e));s=this.chunk2.charCodeAt(0)}}e>=this.token.lookAhead&&(this.token.lookAhead=e+1);return s}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(s==null||s<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t;this.token.end=s}acceptTokenTo(t,e){this.token.value=t;this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2;this.chunkPos=this.chunk2Pos;this.chunk2=t;this.chunk2Pos=e;this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk;this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos);let e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t;this.chunkPos=this.pos;this.chunkOff=0}}readNext(){if(this.chunkOff>=this.chunk.length){this.getChunk();if(this.chunkOff==this.chunk.length)return this.next=-1}return this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){this.chunkOff+=t;while(this.pos+t>=this.range.to){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos;this.range=this.ranges[++this.rangeIndex];this.pos=this.range.from}this.pos+=t;this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1);return this.readNext()}setDone(){this.pos=this.chunkPos=this.end;this.range=this.ranges[this.rangeIndex=this.ranges.length-1];this.chunk="";return this.next=-1}reset(t,e){if(e){this.token=e;e.start=t;e.lookAhead=t+1;e.value=e.extended=-1}else this.token=o;if(this.pos!=t){this.pos=t;if(t==this.end){this.setDone();return this}while(t<this.range.from)this.range=this.ranges[--this.rangeIndex];while(t>=this.range.to)this.range=this.ranges[++this.rangeIndex];if(t>=this.chunkPos&&t<this.chunkPos+this.chunk.length)this.chunkOff=t-this.chunkPos;else{this.chunk="";this.chunkOff=0}this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;i.to>t&&(s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e)))}return s}}class TokenGroup{constructor(t,e){this.data=t;this.id=e}token(t,e){let{parser:s}=e.p;readToken(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=false;class LocalTokenGroup{constructor(t,e,s){this.precTable=e;this.elseToken=s;this.data=typeof t=="string"?decodeArray(t):t}token(t,e){let s=t.pos,i=0;for(;;){let s=t.next<0,r=t.resolveOffset(1,1);readToken(this.data,t,e,0,this.data,this.precTable);if(t.token.value>-1)break;if(this.elseToken==null)return;s||i++;if(r==null)break;t.reset(r,t.token)}if(i){t.reset(s,t.token);t.acceptToken(this.elseToken,i)}}}LocalTokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=false;class ExternalTokenizer{constructor(t,e={}){this.token=t;this.contextual=!!e.contextual;this.fallback=!!e.fallback;this.extend=!!e.extend}}function readToken(t,e,s,i,r,h){let n=0,o=1<<i,{dialect:a}=s.p.parser;t:for(;;){if((o&t[n])==0)break;let s=t[n+1];for(let i=n+3;i<s;i+=2)if((t[i+1]&o)>0){let s=t[i];if(a.allows(s)&&(e.token.value==-1||e.token.value==s||overrides(s,e.token.value,r,h))){e.acceptToken(s);break}}let i=e.next,l=0,c=t[n+2];if(!(e.next<0&&c>l&&t[s+c*3-3]==65535)){for(;l<c;){let r=l+c>>1;let h=s+r+(r<<1);let o=t[h],a=t[h+1]||65536;if(i<o)c=r;else{if(!(i>=a)){n=t[h+2];e.advance();continue t}l=r+1}}break}n=t[s+c*3-1]}}function findOffset(t,e,s){for(let i,r=e;(i=t[r])!=65535;r++)if(i==s)return r-e;return-1}function overrides(t,e,s,i){let r=findOffset(s,i,e);return r<0||findOffset(s,i,t)<r}const a=typeof process!="undefined"&&process.env&&/\bparse\b/.test(process.env.LOG);let l=null;function cutAt(e,s,i){let r=e.cursor(t.IncludeAnonymous);r.moveTo(s);for(;;)if(!(i<0?r.childBefore(s):r.childAfter(s)))for(;;){if((i<0?r.to<s:r.from>s)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,s-25)):Math.min(e.length,Math.max(r.from+1,s+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:e.length}}class FragmentCursor{constructor(t,e){this.fragments=t;this.nodeSet=e;this.i=0;this.fragment=null;this.safeFrom=-1;this.safeTo=-1;this.trees=[];this.start=[];this.index=[];this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){this.safeFrom=t.openStart?cutAt(t.tree,t.from+t.offset,1)-t.offset:t.from;this.safeTo=t.openEnd?cutAt(t.tree,t.to+t.offset,-1)-t.offset:t.to;while(this.trees.length){this.trees.pop();this.start.pop();this.index.pop()}this.trees.push(t.tree);this.start.push(-t.offset);this.index.push(0);this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;while(this.fragment&&this.safeTo<=t)this.nextFragment();if(!this.fragment)return null;for(;;){let i=this.trees.length-1;if(i<0){this.nextFragment();return null}let r=this.trees[i],h=this.index[i];if(h==r.children.length){this.trees.pop();this.start.pop();this.index.pop();continue}let n=r.children[h];let o=this.start[i]+r.positions[h];if(o>t){this.nextStart=o;return null}if(n instanceof e){if(o==t){if(o<this.safeFrom)return null;let t=o+n.length;if(t<=this.safeTo){let e=n.prop(s.lookAhead);if(!e||t+e<this.fragment.to)return n}}this.index[i]++;if(o+n.length>=Math.max(this.safeFrom,t)){this.trees.push(n);this.start.push(o);this.index.push(0)}}else{this.index[i]++;this.nextStart=o+n.length}}}}class TokenCache{constructor(t,e){this.stream=e;this.tokens=[];this.mainToken=null;this.actions=[];this.tokens=t.tokenizers.map((t=>new CachedToken))}getActions(t){let e=0;let s=null;let{parser:i}=t.p,{tokenizers:r}=i;let h=i.stateSlot(t.state,3);let n=t.curContext?t.curContext.hash:0;let o=0;for(let i=0;i<r.length;i++){if((1<<i&h)==0)continue;let a=r[i],l=this.tokens[i];if(!s||a.fallback){if(a.contextual||l.start!=t.pos||l.mask!=h||l.context!=n){this.updateCachedToken(l,a,t);l.mask=h;l.context=n}l.lookAhead>l.end+25&&(o=Math.max(l.lookAhead,o));if(l.value!=0){let i=e;l.extended>-1&&(e=this.addActions(t,l.extended,l.end,e));e=this.addActions(t,l.value,l.end,e);if(!a.extend){s=l;if(e>i)break}}}}while(this.actions.length>e)this.actions.pop();o&&t.setLookAhead(o);if(!s&&t.pos==this.stream.end){s=new CachedToken;s.value=t.p.parser.eofTerm;s.start=s.end=t.pos;e=this.addActions(t,s.value,s.end,e)}this.mainToken=s;return this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new CachedToken,{pos:s,p:i}=t;e.start=s;e.end=Math.min(s+1,i.stream.end);e.value=s==i.stream.end?i.parser.eofTerm:0;return e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);e.token(this.stream.reset(i,t),s);if(t.value>-1){let{parser:e}=s.p;for(let i=0;i<e.specialized.length;i++)if(e.specialized[i]==t.value){let r=e.specializers[i](this.stream.read(t.start,t.end),s);if(r>=0&&s.p.parser.dialect.allows(r>>1)){(r&1)==0?t.value=r>>1:t.extended=r>>1;break}}}else{t.value=0;t.end=this.stream.clipPos(i+1)}}putAction(t,e,s,i){for(let e=0;e<i;e+=3)if(this.actions[e]==t)return i;this.actions[i++]=t;this.actions[i++]=e;this.actions[i++]=s;return i}addActions(t,e,s,i){let{state:r}=t,{parser:h}=t.p,{data:n}=h;for(let t=0;t<2;t++)for(let o=h.stateSlot(r,t?2:1);;o+=3){if(n[o]==65535){if(n[o+1]!=1){i==0&&n[o+1]==2&&(i=this.putAction(pair(n,o+2),e,s,i));break}o=pair(n,o+2)}n[o]==e&&(i=this.putAction(pair(n,o+1),e,s,i))}return i}}class Parse{constructor(t,e,s,i){this.parser=t;this.input=e;this.ranges=i;this.recovering=0;this.nextStackID=9812;this.minStackPos=0;this.reused=[];this.stoppedAt=null;this.lastBigReductionStart=-1;this.lastBigReductionSize=0;this.bigReductionCount=0;this.stream=new InputStream(e,i);this.tokens=new TokenCache(t,this.stream);this.topTerm=t.top[1];let{from:r}=i[0];this.stacks=[Stack.start(this,t.top[0],r)];this.fragments=s.length&&this.stream.end-r>t.bufferLength*4?new FragmentCursor(s,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos;let s=this.stacks=[];let i,r;if(this.bigReductionCount>300&&t.length==1){let[e]=t;while(e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart);this.bigReductionCount=this.lastBigReductionSize=0}for(let h=0;h<t.length;h++){let n=t[h];for(;;){this.tokens.mainToken=null;if(n.pos>e)s.push(n);else{if(this.advanceStack(n,s,t))continue;{if(!i){i=[];r=[]}i.push(n);let t=this.tokens.getMainToken(n);r.push(t.value,t.end)}}break}}if(!s.length){let t=i&&findFinished(i);if(t){a&&console.log("Finish with "+this.stackID(t));return this.stackToTree(t)}if(this.parser.strict){a&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none"));throw new SyntaxError("No parse at "+e)}this.recovering||(this.recovering=5)}if(this.recovering&&i){let t=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,r,s);if(t){a&&console.log("Force-finish "+this.stackID(t));return this.stackToTree(t.forceAll())}}if(this.recovering){let t=this.recovering==1?1:this.recovering*3;if(s.length>t){s.sort(((t,e)=>e.score-t.score));while(s.length>t)s.pop()}s.some((t=>t.reducePos>e))&&this.recovering--}else if(s.length>1){t:for(let t=0;t<s.length-1;t++){let e=s[t];for(let i=t+1;i<s.length;i++){let r=s[i];if(e.sameState(r)||e.buffer.length>500&&r.buffer.length>500){if(!((e.score-r.score||e.buffer.length-r.buffer.length)>0)){s.splice(t--,1);continue t}s.splice(i--,1)}}}s.length>12&&s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let t=1;t<s.length;t++)s[t].pos<this.minStackPos&&(this.minStackPos=s[t].pos);return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,i,r){let h=t.pos,{parser:n}=this;let o=a?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&h>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let i=t.curContext&&t.curContext.tracker.strict,r=i?t.curContext.hash:0;for(let l=this.fragments.nodeAt(h);l;){let h=this.parser.nodeSet.types[l.type.id]==l.type?n.getGoto(t.state,l.type.id):-1;if(h>-1&&l.length&&(!i||(l.prop(s.contextHash)||0)==r)){t.useNode(l,h);a&&console.log(o+this.stackID(t)+` (via reuse of ${n.getName(l.type.id)})`);return true}if(!(l instanceof e)||l.children.length==0||l.positions[0]>0)break;let c=l.children[0];if(!(c instanceof e&&l.positions[0]==0))break;l=c}}let l=n.stateSlot(t.state,4);if(l>0){t.reduce(l);a&&console.log(o+this.stackID(t)+` (via always-reduce ${n.getName(l&65535)})`);return true}if(t.stack.length>=8400)while(t.stack.length>6e3&&t.forceReduce());let c=this.tokens.getActions(t);for(let e=0;e<c.length;){let s=c[e++],l=c[e++],u=c[e++];let f=e==c.length||!r;let p=f?t:t.split();let d=this.tokens.mainToken;p.apply(s,l,d?d.start:p.pos,u);a&&console.log(o+this.stackID(p)+` (via ${(s&65536)==0?"shift":`reduce of ${n.getName(s&65535)}`} for ${n.getName(l)} @ ${h}${p==t?"":", split"})`);if(f)return true;p.pos>h?i.push(p):r.push(p)}return false}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return false;if(t.pos>s){pushStackDedup(t,e);return true}}}runRecovery(t,e,s){let i=null,r=false;for(let h=0;h<t.length;h++){let n=t[h],o=e[h<<1],l=e[1+(h<<1)];let c=a?this.stackID(n)+" -> ":"";if(n.deadEnd){if(r)continue;r=true;n.restart();a&&console.log(c+this.stackID(n)+" (restarted)");let t=this.advanceFully(n,s);if(t)continue}let u=n.split(),f=c;for(let t=0;u.forceReduce()&&t<10;t++){a&&console.log(f+this.stackID(u)+" (via force-reduce)");let t=this.advanceFully(u,s);if(t)break;a&&(f=this.stackID(u)+" -> ")}for(let t of n.recoverByInsert(o)){a&&console.log(c+this.stackID(t)+" (via recover-insert)");this.advanceFully(t,s)}if(this.stream.end>n.pos){if(l==n.pos){l++;o=0}n.recoverByDelete(o,l);a&&console.log(c+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`);pushStackDedup(n,s)}else(!i||i.score<n.score)&&(i=n)}return i}stackToTree(t){t.close();return e.build({buffer:StackBufferCursor.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(l||(l=new WeakMap)).get(t);e||l.set(t,e=String.fromCodePoint(this.nextStackID++));return e+t}}function pushStackDedup(t,e){for(let s=0;s<e.length;s++){let i=e[s];if(i.pos==t.pos&&i.sameState(t)){e[s].score<t.score&&(e[s]=t);return}}e.push(t)}class Dialect{constructor(t,e,s){this.source=t;this.flags=e;this.disabled=s}allows(t){return!this.disabled||this.disabled[t]==0}}const id=t=>t;class ContextTracker{constructor(t){this.start=t.start;this.shift=t.shift||id;this.reduce=t.reduce||id;this.reuse=t.reuse||id;this.hash=t.hash||(()=>0);this.strict=t.strict!==false}}class LRParser extends i{constructor(t){super();this.wrappers=[];if(t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let s=0;s<t.repeatNodeCount;s++)e.push("");let i=Object.keys(t.topRules).map((e=>t.topRules[e][1]));let o=[];for(let t=0;t<e.length;t++)o.push([]);function setProp(t,e,s){o[t].push([e,e.deserialize(String(s))])}if(t.nodeProps)for(let e of t.nodeProps){let t=e[0];typeof t=="string"&&(t=s[t]);for(let s=1;s<e.length;){let i=e[s++];if(i>=0)setProp(i,t,e[s++]);else{let r=e[s+-i];for(let h=-i;h>0;h--)setProp(e[s++],t,r);s++}}}this.nodeSet=new r(e.map(((e,s)=>h.define({name:s>=this.minRepeatTerm?void 0:e,id:s,props:o[s],top:i.indexOf(s)>-1,error:s==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(s)>-1}))));t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources));this.strict=false;this.bufferLength=n;let a=decodeArray(t.tokenData);this.context=t.context;this.specializerSpecs=t.specialized||[];this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t<this.specializerSpecs.length;t++)this.specialized[t]=this.specializerSpecs[t].term;this.specializers=this.specializerSpecs.map(getSpecializer);this.states=decodeArray(t.states,Uint32Array);this.data=decodeArray(t.stateData);this.goto=decodeArray(t.goto);this.maxTerm=t.maxTerm;this.tokenizers=t.tokenizers.map((t=>typeof t=="number"?new TokenGroup(a,t):t));this.topRules=t.topRules;this.dialects=t.dialects||{};this.dynamicPrecedences=t.dynamicPrecedences||null;this.tokenPrecTable=t.tokenPrec;this.termNames=t.termNames||null;this.maxNode=this.nodeSet.types.length-1;this.dialect=this.parseDialect();this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new Parse(this,t,e,s);for(let r of this.wrappers)i=r(i,t,e,s);return i}getGoto(t,e,s=false){let i=this.goto;if(e>=i[0])return-1;for(let r=i[e+1];;){let e=i[r++],h=e&1;let n=i[r++];if(h&&s)return n;for(let s=r+(e>>1);r<s;r++)if(i[r]==t)return n;if(h)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let r,h=this.stateSlot(t,i?2:1);;h+=3){if((r=s[h])==65535){if(s[h+1]!=1){if(s[h+1]==2)return pair(s,h+2);break}r=s[h=pair(s,h+2)]}if(r==e||r==0)return pair(s,h+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,(t=>t==e||null))}allActions(t,e){let s=this.stateSlot(t,4);let i=s?e(s):void 0;for(let s=this.stateSlot(t,1);i==null;s+=3){if(this.data[s]==65535){if(this.data[s+1]!=1)break;s=pair(this.data,s+2)}i=e(pair(this.data,s+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(this.data[s]==65535){if(this.data[s+1]!=1)break;s=pair(this.data,s+2)}if((this.data[s+2]&1)==0){let t=this.data[s+1];e.some(((e,s)=>s&1&&e==t))||e.push(this.data[s],t)}}return e}configure(t){let e=Object.assign(Object.create(LRParser.prototype),this);t.props&&(e.nodeSet=this.nodeSet.extend(...t.props));if(t.top){let s=this.topRules[t.top];if(!s)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=s}t.tokenizers&&(e.tokenizers=this.tokenizers.map((e=>{let s=t.tokenizers.find((t=>t.from==e));return s?s.to:e})));if(t.specializers){e.specializers=this.specializers.slice();e.specializerSpecs=this.specializerSpecs.map(((s,i)=>{let r=t.specializers.find((t=>t.from==s.external));if(!r)return s;let h=Object.assign(Object.assign({},s),{external:r.to});e.specializers[i]=getSpecializer(h);return h}))}t.contextTracker&&(e.context=t.contextTracker);t.dialect&&(e.dialect=this.parseDialect(t.dialect));t.strict!=null&&(e.strict=t.strict);t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap));t.bufferLength!=null&&(e.bufferLength=t.bufferLength);return e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map((()=>false));if(t)for(let i of t.split(" ")){let t=e.indexOf(i);t>=0&&(s[t]=true)}let i=null;for(let t=0;t<e.length;t++)if(!s[t])for(let s,r=this.dialects[e[t]];(s=this.data[r++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[s]=1;return new Dialect(t,s,i)}static deserialize(t){return new LRParser(t)}}function pair(t,e){return t[e]|t[e+1]<<16}function findFinished(t){let e=null;for(let s of t){let t=s.p.stoppedAt;(s.pos==s.p.stream.end||t!=null&&s.pos>t)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score<s.score)&&(e=s)}return e}function getSpecializer(t){if(t.external){let e=t.extend?1:0;return(s,i)=>t.external(s,i)<<1|e}return t.get}export{ContextTracker,ExternalTokenizer,InputStream,LRParser,LocalTokenGroup,Stack};
4
+
@@ -0,0 +1,4 @@
1
+ // @marijn/find-cluster-break@1.0.2 downloaded from https://ga.jspm.io/npm:@marijn/find-cluster-break@1.0.2/src/index.js
2
+
3
+ let e=[],t=[];(()=>{let r="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((e=>e?parseInt(e,36):1));for(let n=0,i=0;n<r.length;n++)(n%2?t:e).push(i+=r[n])})();function isExtendingChar(r){if(r<768)return false;for(let n=0,i=e.length;;){let a=n+i>>1;if(r<e[a])i=a;else{if(!(r>=t[a]))return true;n=a+1}if(n==i)return false}}function isRegionalIndicator(e){return e>=127462&&e<=127487}const r=8205;function findClusterBreak(e,t,r=true,n=true){return(r?nextClusterBreak:prevClusterBreak)(e,t,n)}function nextClusterBreak(e,t,n){if(t==e.length)return t;t&&surrogateLow(e.charCodeAt(t))&&surrogateHigh(e.charCodeAt(t-1))&&t--;let i=codePointAt(e,t);t+=codePointSize(i);while(t<e.length){let a=codePointAt(e,t);if(i==r||a==r||n&&isExtendingChar(a)){t+=codePointSize(a);i=a}else{if(!isRegionalIndicator(a))break;{let r=0,n=t-2;while(n>=0&&isRegionalIndicator(codePointAt(e,n))){r++;n-=2}if(r%2==0)break;t+=2}}}return t}function prevClusterBreak(e,t,r){while(t>0){let n=nextClusterBreak(e,t-2,r);if(n<t)return n;t--}return 0}function codePointAt(e,t){let r=e.charCodeAt(t);if(!surrogateHigh(r)||t+1==e.length)return r;let n=e.charCodeAt(t+1);return surrogateLow(n)?n-56320+(r-55296<<10)+65536:r}function surrogateLow(e){return e>=56320&&e<57344}function surrogateHigh(e){return e>=55296&&e<56320}function codePointSize(e){return e<65536?1:2}export{findClusterBreak,isExtendingChar};
4
+
@@ -0,0 +1,4 @@
1
+ // @stimulus-components/dialog@1.0.1 downloaded from https://ga.jspm.io/npm:@stimulus-components/dialog@1.0.1/dist/stimulus-dialog.mjs
2
+
3
+ import{Controller as e}from"@hotwired/stimulus";const t=class _Dialog extends e{initialize(){this.forceClose=this.forceClose.bind(this)}connect(){this.openValue&&this.open(),document.addEventListener("turbo:before-render",this.forceClose)}disconnect(){document.removeEventListener("turbo:before-render",this.forceClose)}open(){this.dialogTarget.showModal()}close(){this.dialogTarget.setAttribute("closing",""),Promise.all(this.dialogTarget.getAnimations().map((e=>e.finished))).then((()=>{this.dialogTarget.removeAttribute("closing"),this.dialogTarget.close()}))}backdropClose(e){e.target===this.dialogTarget&&this.close()}forceClose(){this.dialogTarget.close()}};t.targets=["dialog"],t.values={open:{type:Boolean,default:!1}};let o=t;export{o as default};
4
+
@@ -0,0 +1,4 @@
1
+ // @stimulus-components/dropdown@3.0.0 downloaded from https://ga.jspm.io/npm:@stimulus-components/dropdown@3.0.0/dist/stimulus-dropdown.mjs
2
+
3
+ import{Controller as t}from"@hotwired/stimulus";import{useTransition as e}from"stimulus-use";const s=class _Dropdown extends t{connect(){e(this,{element:this.menuTarget})}toggle(){this.toggleTransition()}hide(t){!this.element.contains(t.target)&&!this.menuTarget.classList.contains("hidden")&&this.leave()}};s.targets=["menu"];let i=s;export{i as default};
4
+
@@ -0,0 +1,4 @@
1
+ // codemirror@6.0.2 downloaded from https://ga.jspm.io/npm:codemirror@6.0.2/dist/index.js
2
+
3
+ import{lineNumbers as r,highlightActiveLineGutter as o,highlightSpecialChars as m,drawSelection as e,dropCursor as i,rectangularSelection as t,crosshairCursor as c,highlightActiveLine as f,keymap as l}from"@codemirror/view";export{EditorView}from"@codemirror/view";import{EditorState as a}from"@codemirror/state";import{foldGutter as p,indentOnInput as d,syntaxHighlighting as n,bracketMatching as s,defaultHighlightStyle as u,foldKeymap as w}from"@codemirror/language";import{history as b,defaultKeymap as g,historyKeymap as k}from"@codemirror/commands";import{highlightSelectionMatches as v,searchKeymap as x}from"@codemirror/search";import{closeBrackets as h,autocompletion as E,closeBracketsKeymap as M,completionKeymap as S}from"@codemirror/autocomplete";import{lintKeymap as V}from"@codemirror/lint";const j=(()=>[r(),o(),m(),b(),p(),e(),i(),a.allowMultipleSelections.of(true),d(),n(u,{fallback:true}),s(),h(),E(),t(),c(),f(),v(),l.of([...M,...g,...x,...k,...w,...S,...V])])();const q=(()=>[m(),b(),e(),n(u,{fallback:true}),l.of([...g,...k])])();export{j as basicSetup,q as minimalSetup};
4
+
@@ -0,0 +1,4 @@
1
+ // crelt@1.0.6 downloaded from https://ga.jspm.io/npm:crelt@1.0.6/index.js
2
+
3
+ function crelt(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var r=1,t=arguments[1];if(t&&"object"==typeof t&&null==t.nodeType&&!Array.isArray(t)){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var o=t[n];"string"==typeof o?e.setAttribute(n,o):null!=o&&(e[n]=o)}r++}for(;r<arguments.length;r++)add(e,arguments[r]);return e}function add(e,r){if("string"==typeof r)e.appendChild(document.createTextNode(r));else if(null==r);else if(null!=r.nodeType)e.appendChild(r);else{if(!Array.isArray(r))throw new RangeError("Unsupported child node: "+r);for(var t=0;t<r.length;t++)add(e,r[t])}}export{crelt as default};
4
+