tom-select-rails 2.2.2 → 2.4.3

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 (297) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tom-select-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/tom-select-rails/cjs/constants.d.ts +12 -0
  4. data/vendor/assets/javascripts/tom-select-rails/cjs/constants.js +16 -0
  5. data/vendor/assets/javascripts/tom-select-rails/cjs/constants.js.map +1 -0
  6. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.d.ts +13 -0
  7. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.js +69 -0
  8. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.js.map +1 -0
  9. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.d.ts +20 -0
  10. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.js +64 -0
  11. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.js.map +1 -0
  12. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.d.ts +71 -0
  13. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.js +112 -0
  14. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.js.map +1 -0
  15. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.d.ts +52 -0
  16. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js +84 -0
  17. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js.map +1 -0
  18. data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.d.ts +3 -0
  19. data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.js +146 -0
  20. data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.js.map +1 -0
  21. data/vendor/assets/javascripts/tom-select-rails/cjs/package.json +1 -0
  22. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.d.ts +16 -0
  23. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.js +66 -0
  24. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.js.map +1 -0
  25. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.d.ts +16 -0
  26. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.js +25 -0
  27. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.js.map +1 -0
  28. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.d.ts +17 -0
  29. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.js +108 -0
  30. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.js.map +1 -0
  31. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.d.ts +14 -0
  32. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.js +3 -0
  33. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.js.map +1 -0
  34. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.d.ts +17 -0
  35. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js +44 -0
  36. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js.map +1 -0
  37. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.d.ts +5 -0
  38. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.js +3 -0
  39. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.js.map +1 -0
  40. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.d.ts +16 -0
  41. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.js +117 -0
  42. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.js.map +1 -0
  43. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.d.ts +17 -0
  44. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.js +50 -0
  45. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.js.map +1 -0
  46. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.d.ts +8 -0
  47. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.js +3 -0
  48. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.js.map +1 -0
  49. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.d.ts +16 -0
  50. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js +77 -0
  51. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js.map +1 -0
  52. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.d.ts +15 -0
  53. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.js +47 -0
  54. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.js.map +1 -0
  55. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.d.ts +15 -0
  56. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.js +22 -0
  57. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.js.map +1 -0
  58. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.d.ts +15 -0
  59. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.js +28 -0
  60. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.js.map +1 -0
  61. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.d.ts +16 -0
  62. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.js +51 -0
  63. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.js.map +1 -0
  64. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.d.ts +17 -0
  65. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.js +61 -0
  66. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.js.map +1 -0
  67. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.d.ts +6 -0
  68. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.js +3 -0
  69. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.js.map +1 -0
  70. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.d.ts +21 -0
  71. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.js +24 -0
  72. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.js.map +1 -0
  73. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.d.ts +16 -0
  74. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.js +170 -0
  75. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.js.map +1 -0
  76. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.d.ts +2 -0
  77. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.js +33 -5497
  78. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.js.map +1 -1
  79. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.d.ts +594 -0
  80. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js +2147 -4555
  81. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js.map +1 -1
  82. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.d.ts +2 -0
  83. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.js +15 -4934
  84. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.js.map +1 -1
  85. data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.d.ts +49 -0
  86. data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.js +3 -0
  87. data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.js.map +1 -0
  88. data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.d.ts +2 -0
  89. data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.js +19 -0
  90. data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.js.map +1 -0
  91. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.d.ts +79 -0
  92. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.js +3 -0
  93. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.js.map +1 -0
  94. data/vendor/assets/javascripts/tom-select-rails/cjs/utils.d.ts +95 -0
  95. data/vendor/assets/javascripts/tom-select-rails/cjs/utils.js +130 -114
  96. data/vendor/assets/javascripts/tom-select-rails/cjs/utils.js.map +1 -1
  97. data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.d.ts +76 -0
  98. data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.js +190 -0
  99. data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.js.map +1 -0
  100. data/vendor/assets/javascripts/tom-select-rails/esm/constants.d.ts +12 -0
  101. data/vendor/assets/javascripts/tom-select-rails/esm/constants.js +13 -0
  102. data/vendor/assets/javascripts/tom-select-rails/esm/constants.js.map +1 -0
  103. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.d.ts +13 -0
  104. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.js +64 -0
  105. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.js.map +1 -0
  106. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.d.ts +20 -0
  107. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.js +61 -0
  108. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.js.map +1 -0
  109. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.d.ts +71 -0
  110. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.js +109 -0
  111. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.js.map +1 -0
  112. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.d.ts +52 -0
  113. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js +82 -0
  114. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js.map +1 -0
  115. data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.d.ts +3 -0
  116. data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.js +143 -0
  117. data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.js.map +1 -0
  118. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.d.ts +16 -0
  119. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js +26 -78
  120. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js.map +1 -1
  121. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.d.ts +16 -0
  122. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js +3 -2
  123. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js.map +1 -1
  124. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.d.ts +17 -0
  125. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js +47 -96
  126. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js.map +1 -1
  127. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.d.ts +14 -0
  128. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.js +2 -0
  129. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.js.map +1 -0
  130. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.d.ts +17 -0
  131. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js +3 -75
  132. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js.map +1 -1
  133. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.d.ts +5 -0
  134. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.js +2 -0
  135. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.js.map +1 -0
  136. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.d.ts +16 -0
  137. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js +187 -29
  138. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js.map +1 -1
  139. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.d.ts +17 -0
  140. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js +27 -97
  141. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js.map +1 -1
  142. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.d.ts +8 -0
  143. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.js +2 -0
  144. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.js.map +1 -0
  145. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.d.ts +16 -0
  146. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js +46 -117
  147. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js.map +1 -1
  148. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.d.ts +15 -0
  149. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js +4 -6
  150. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js.map +1 -1
  151. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.d.ts +15 -0
  152. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js +2 -1
  153. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js.map +1 -1
  154. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.d.ts +15 -0
  155. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js +2 -2
  156. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js.map +1 -1
  157. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.d.ts +16 -0
  158. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js +3 -80
  159. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js.map +1 -1
  160. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.d.ts +17 -0
  161. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js +38 -104
  162. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js.map +1 -1
  163. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.d.ts +6 -0
  164. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.js +2 -0
  165. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.js.map +1 -0
  166. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.d.ts +21 -0
  167. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js +2 -3
  168. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js.map +1 -1
  169. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.d.ts +16 -0
  170. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js +56 -112
  171. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js.map +1 -1
  172. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.d.ts +2 -0
  173. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.js +17 -5481
  174. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.js.map +1 -1
  175. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.d.ts +594 -0
  176. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js +2127 -4536
  177. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js.map +1 -1
  178. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.d.ts +2 -0
  179. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.js +8 -4927
  180. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.js.map +1 -1
  181. data/vendor/assets/javascripts/tom-select-rails/esm/types/core.d.ts +49 -0
  182. data/vendor/assets/javascripts/tom-select-rails/esm/types/core.js +2 -0
  183. data/vendor/assets/javascripts/tom-select-rails/esm/types/core.js.map +1 -0
  184. data/vendor/assets/javascripts/tom-select-rails/esm/types/index.d.ts +2 -0
  185. data/vendor/assets/javascripts/tom-select-rails/esm/types/index.js +3 -0
  186. data/vendor/assets/javascripts/tom-select-rails/esm/types/index.js.map +1 -0
  187. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.d.ts +79 -0
  188. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.js +2 -0
  189. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.js.map +1 -0
  190. data/vendor/assets/javascripts/tom-select-rails/esm/utils.d.ts +95 -0
  191. data/vendor/assets/javascripts/tom-select-rails/esm/utils.js +121 -107
  192. data/vendor/assets/javascripts/tom-select-rails/esm/utils.js.map +1 -1
  193. data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.d.ts +76 -0
  194. data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.js +172 -0
  195. data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.js.map +1 -0
  196. data/vendor/assets/javascripts/tom-select-rails/js/package.json +1 -0
  197. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js +161 -213
  198. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js.map +1 -1
  199. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js +3 -2
  200. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js.map +1 -1
  201. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js +47 -96
  202. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js.map +1 -1
  203. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js +71 -143
  204. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js.map +1 -1
  205. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js +187 -29
  206. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js.map +1 -1
  207. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js +100 -170
  208. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js.map +1 -1
  209. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js +212 -283
  210. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js.map +1 -1
  211. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js +4 -6
  212. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js.map +1 -1
  213. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js +2 -1
  214. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js.map +1 -1
  215. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js +2 -2
  216. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js.map +1 -1
  217. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js +84 -161
  218. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js.map +1 -1
  219. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js +132 -198
  220. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js.map +1 -1
  221. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js +2 -3
  222. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js.map +1 -1
  223. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js +270 -326
  224. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js.map +1 -1
  225. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js +1367 -1918
  226. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js.map +1 -1
  227. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js +186 -173
  228. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js.map +1 -1
  229. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js +1400 -1883
  230. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js.map +1 -1
  231. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js +366 -343
  232. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js.map +1 -1
  233. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js +1369 -1915
  234. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js.map +1 -1
  235. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js +339 -326
  236. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js.map +1 -1
  237. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microevent.d.ts +1 -1
  238. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microplugin.d.ts +4 -4
  239. data/vendor/assets/javascripts/tom-select-rails/types/defaults.d.ts +1 -0
  240. data/vendor/assets/javascripts/tom-select-rails/types/getSettings.d.ts +2 -2
  241. data/vendor/assets/javascripts/tom-select-rails/types/plugins/caret_position/plugin.d.ts +1 -1
  242. data/vendor/assets/javascripts/tom-select-rails/types/plugins/change_listener/plugin.d.ts +1 -1
  243. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/plugin.d.ts +4 -3
  244. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/types.d.ts +14 -0
  245. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/plugin.d.ts +2 -2
  246. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/types.d.ts +1 -1
  247. data/vendor/assets/javascripts/tom-select-rails/types/plugins/drag_drop/plugin.d.ts +1 -1
  248. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/plugin.d.ts +2 -2
  249. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/types.d.ts +1 -1
  250. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_input/plugin.d.ts +1 -1
  251. data/vendor/assets/javascripts/tom-select-rails/types/plugins/input_autogrow/plugin.d.ts +1 -1
  252. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_active_items/plugin.d.ts +1 -1
  253. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_backspace_delete/plugin.d.ts +1 -1
  254. data/vendor/assets/javascripts/tom-select-rails/types/plugins/optgroup_columns/plugin.d.ts +1 -1
  255. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/plugin.d.ts +2 -2
  256. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/types.d.ts +1 -1
  257. data/vendor/assets/javascripts/tom-select-rails/types/plugins/restore_on_backspace/plugin.d.ts +3 -3
  258. data/vendor/assets/javascripts/tom-select-rails/types/plugins/virtual_scroll/plugin.d.ts +1 -1
  259. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.complete.d.ts +1 -1
  260. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.d.ts +12 -14
  261. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.popular.d.ts +1 -1
  262. data/vendor/assets/javascripts/tom-select-rails/types/types/core.d.ts +17 -16
  263. data/vendor/assets/javascripts/tom-select-rails/types/types/index.d.ts +2 -2
  264. data/vendor/assets/javascripts/tom-select-rails/types/types/settings.d.ts +6 -5
  265. data/vendor/assets/javascripts/tom-select-rails/types/utils.d.ts +21 -2
  266. data/vendor/assets/javascripts/tom-select-rails/types/vanilla.d.ts +1 -1
  267. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css +227 -219
  268. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css.map +1 -1
  269. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css +1 -1
  270. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css.map +1 -1
  271. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css +247 -254
  272. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css.map +1 -1
  273. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css +1 -1
  274. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css.map +1 -1
  275. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css +213 -210
  276. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css.map +1 -1
  277. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css +223 -215
  278. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css.map +1 -1
  279. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css +1 -1
  280. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css.map +1 -1
  281. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css +1 -1
  282. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css.map +1 -1
  283. data/vendor/assets/stylesheets/tom-select-rails/scss/_dropdown.scss +7 -10
  284. data/vendor/assets/stylesheets/tom-select-rails/scss/_items.scss +7 -9
  285. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/checkbox_options.scss +8 -2
  286. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/clear_button.scss +16 -14
  287. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/drag_drop.scss +6 -12
  288. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/dropdown_header.scss +3 -2
  289. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/dropdown_input.scss +7 -11
  290. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/input_autogrow.scss +0 -3
  291. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/optgroup_columns.scss +7 -5
  292. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/remove_button.scss +20 -20
  293. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.bootstrap4.scss +33 -39
  294. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.bootstrap5.scss +54 -80
  295. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.default.scss +16 -14
  296. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.scss +52 -57
  297. metadata +154 -7
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Return a dom element from either a dom query string, jQuery object, a dom element or html string
3
+ * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518
4
+ *
5
+ * param query should be {}
6
+ */
7
+ export declare const getDom: (query: any) => HTMLElement;
8
+ export declare const isHtmlString: (arg: any) => boolean;
9
+ export declare const escapeQuery: (query: string) => string;
10
+ /**
11
+ * Dispatch an event
12
+ *
13
+ */
14
+ export declare const triggerEvent: (dom_el: HTMLElement, event_name: string) => void;
15
+ /**
16
+ * Apply CSS rules to a dom element
17
+ *
18
+ */
19
+ export declare const applyCSS: (dom_el: HTMLElement, css: {
20
+ [key: string]: string | number;
21
+ }) => void;
22
+ /**
23
+ * Add css classes
24
+ *
25
+ */
26
+ export declare const addClasses: (elmts: HTMLElement | HTMLElement[], ...classes: string[] | string[][]) => void;
27
+ /**
28
+ * Remove css classes
29
+ *
30
+ */
31
+ export declare const removeClasses: (elmts: HTMLElement | HTMLElement[], ...classes: string[] | string[][]) => void;
32
+ /**
33
+ * Return arguments
34
+ *
35
+ */
36
+ export declare const classesArray: (args: string[] | string[][]) => string[];
37
+ /**
38
+ * Create an array from arg if it's not already an array
39
+ *
40
+ */
41
+ export declare const castAsArray: (arg: any) => Array<any>;
42
+ /**
43
+ * Get the closest node to the evt.target matching the selector
44
+ * Stops at wrapper
45
+ *
46
+ */
47
+ export declare const parentMatch: (target: null | HTMLElement, selector: string, wrapper?: HTMLElement) => HTMLElement | void;
48
+ /**
49
+ * Get the first or last item from an array
50
+ *
51
+ * > 0 - right (last)
52
+ * <= 0 - left (first)
53
+ *
54
+ */
55
+ export declare const getTail: (list: Array<any> | NodeList, direction?: number) => any;
56
+ /**
57
+ * Return true if an object is empty
58
+ *
59
+ */
60
+ export declare const isEmptyObject: (obj: object) => boolean;
61
+ /**
62
+ * Get the index of an element amongst sibling nodes of the same type
63
+ *
64
+ */
65
+ export declare const nodeIndex: (el: null | Element, amongst?: string) => number;
66
+ /**
67
+ * Set attributes of an element
68
+ *
69
+ */
70
+ export declare const setAttr: (el: Element, attrs: {
71
+ [key: string]: null | string | number;
72
+ }) => void;
73
+ /**
74
+ * Replace a node
75
+ */
76
+ export declare const replaceNode: (existing: Node, replacement: Node) => void;
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.replaceNode = exports.setAttr = exports.nodeIndex = exports.isEmptyObject = exports.getTail = exports.parentMatch = exports.castAsArray = exports.classesArray = exports.removeClasses = exports.addClasses = exports.applyCSS = exports.triggerEvent = exports.escapeQuery = exports.isHtmlString = exports.getDom = void 0;
4
+ const utils_ts_1 = require("./utils.js");
5
+ /**
6
+ * Return a dom element from either a dom query string, jQuery object, a dom element or html string
7
+ * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518
8
+ *
9
+ * param query should be {}
10
+ */
11
+ const getDom = (query) => {
12
+ if (query.jquery) {
13
+ return query[0];
14
+ }
15
+ if (query instanceof HTMLElement) {
16
+ return query;
17
+ }
18
+ if ((0, exports.isHtmlString)(query)) {
19
+ var tpl = document.createElement('template');
20
+ tpl.innerHTML = query.trim(); // Never return a text node of whitespace as the result
21
+ return tpl.content.firstChild;
22
+ }
23
+ return document.querySelector(query);
24
+ };
25
+ exports.getDom = getDom;
26
+ const isHtmlString = (arg) => {
27
+ if (typeof arg === 'string' && arg.indexOf('<') > -1) {
28
+ return true;
29
+ }
30
+ return false;
31
+ };
32
+ exports.isHtmlString = isHtmlString;
33
+ const escapeQuery = (query) => {
34
+ return query.replace(/['"\\]/g, '\\$&');
35
+ };
36
+ exports.escapeQuery = escapeQuery;
37
+ /**
38
+ * Dispatch an event
39
+ *
40
+ */
41
+ const triggerEvent = (dom_el, event_name) => {
42
+ var event = document.createEvent('HTMLEvents');
43
+ event.initEvent(event_name, true, false);
44
+ dom_el.dispatchEvent(event);
45
+ };
46
+ exports.triggerEvent = triggerEvent;
47
+ /**
48
+ * Apply CSS rules to a dom element
49
+ *
50
+ */
51
+ const applyCSS = (dom_el, css) => {
52
+ Object.assign(dom_el.style, css);
53
+ };
54
+ exports.applyCSS = applyCSS;
55
+ /**
56
+ * Add css classes
57
+ *
58
+ */
59
+ const addClasses = (elmts, ...classes) => {
60
+ var norm_classes = (0, exports.classesArray)(classes);
61
+ elmts = (0, exports.castAsArray)(elmts);
62
+ elmts.map(el => {
63
+ norm_classes.map(cls => {
64
+ el.classList.add(cls);
65
+ });
66
+ });
67
+ };
68
+ exports.addClasses = addClasses;
69
+ /**
70
+ * Remove css classes
71
+ *
72
+ */
73
+ const removeClasses = (elmts, ...classes) => {
74
+ var norm_classes = (0, exports.classesArray)(classes);
75
+ elmts = (0, exports.castAsArray)(elmts);
76
+ elmts.map(el => {
77
+ norm_classes.map(cls => {
78
+ el.classList.remove(cls);
79
+ });
80
+ });
81
+ };
82
+ exports.removeClasses = removeClasses;
83
+ /**
84
+ * Return arguments
85
+ *
86
+ */
87
+ const classesArray = (args) => {
88
+ var classes = [];
89
+ (0, utils_ts_1.iterate)(args, (_classes) => {
90
+ if (typeof _classes === 'string') {
91
+ _classes = _classes.trim().split(/[\t\n\f\r\s]/);
92
+ }
93
+ if (Array.isArray(_classes)) {
94
+ classes = classes.concat(_classes);
95
+ }
96
+ });
97
+ return classes.filter(Boolean);
98
+ };
99
+ exports.classesArray = classesArray;
100
+ /**
101
+ * Create an array from arg if it's not already an array
102
+ *
103
+ */
104
+ const castAsArray = (arg) => {
105
+ if (!Array.isArray(arg)) {
106
+ arg = [arg];
107
+ }
108
+ return arg;
109
+ };
110
+ exports.castAsArray = castAsArray;
111
+ /**
112
+ * Get the closest node to the evt.target matching the selector
113
+ * Stops at wrapper
114
+ *
115
+ */
116
+ const parentMatch = (target, selector, wrapper) => {
117
+ if (wrapper && !wrapper.contains(target)) {
118
+ return;
119
+ }
120
+ while (target && target.matches) {
121
+ if (target.matches(selector)) {
122
+ return target;
123
+ }
124
+ target = target.parentNode;
125
+ }
126
+ };
127
+ exports.parentMatch = parentMatch;
128
+ /**
129
+ * Get the first or last item from an array
130
+ *
131
+ * > 0 - right (last)
132
+ * <= 0 - left (first)
133
+ *
134
+ */
135
+ const getTail = (list, direction = 0) => {
136
+ if (direction > 0) {
137
+ return list[list.length - 1];
138
+ }
139
+ return list[0];
140
+ };
141
+ exports.getTail = getTail;
142
+ /**
143
+ * Return true if an object is empty
144
+ *
145
+ */
146
+ const isEmptyObject = (obj) => {
147
+ return (Object.keys(obj).length === 0);
148
+ };
149
+ exports.isEmptyObject = isEmptyObject;
150
+ /**
151
+ * Get the index of an element amongst sibling nodes of the same type
152
+ *
153
+ */
154
+ const nodeIndex = (el, amongst) => {
155
+ if (!el)
156
+ return -1;
157
+ amongst = amongst || el.nodeName;
158
+ var i = 0;
159
+ while (el = el.previousElementSibling) {
160
+ if (el.matches(amongst)) {
161
+ i++;
162
+ }
163
+ }
164
+ return i;
165
+ };
166
+ exports.nodeIndex = nodeIndex;
167
+ /**
168
+ * Set attributes of an element
169
+ *
170
+ */
171
+ const setAttr = (el, attrs) => {
172
+ (0, utils_ts_1.iterate)(attrs, (val, attr) => {
173
+ if (val == null) {
174
+ el.removeAttribute(attr);
175
+ }
176
+ else {
177
+ el.setAttribute(attr, '' + val);
178
+ }
179
+ });
180
+ };
181
+ exports.setAttr = setAttr;
182
+ /**
183
+ * Replace a node
184
+ */
185
+ const replaceNode = (existing, replacement) => {
186
+ if (existing.parentNode)
187
+ existing.parentNode.replaceChild(replacement, existing);
188
+ };
189
+ exports.replaceNode = replaceNode;
190
+ //# sourceMappingURL=vanilla.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vanilla.js","sourceRoot":"","sources":["../../src/vanilla.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const KEY_A = 65;
2
+ export declare const KEY_RETURN = 13;
3
+ export declare const KEY_ESC = 27;
4
+ export declare const KEY_LEFT = 37;
5
+ export declare const KEY_UP = 38;
6
+ export declare const KEY_RIGHT = 39;
7
+ export declare const KEY_DOWN = 40;
8
+ export declare const KEY_BACKSPACE = 8;
9
+ export declare const KEY_DELETE = 46;
10
+ export declare const KEY_TAB = 9;
11
+ export declare const IS_MAC: boolean;
12
+ export declare const KEY_SHORTCUT: string;
@@ -0,0 +1,13 @@
1
+ export const KEY_A = 65;
2
+ export const KEY_RETURN = 13;
3
+ export const KEY_ESC = 27;
4
+ export const KEY_LEFT = 37;
5
+ export const KEY_UP = 38;
6
+ export const KEY_RIGHT = 39;
7
+ export const KEY_DOWN = 40;
8
+ export const KEY_BACKSPACE = 8;
9
+ export const KEY_DELETE = 46;
10
+ export const KEY_TAB = 9;
11
+ export const IS_MAC = typeof navigator === 'undefined' ? false : /Mac/.test(navigator.userAgent);
12
+ export const KEY_SHORTCUT = IS_MAC ? 'metaKey' : 'ctrlKey'; // ctrl key or apple key for ma
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAM,EAAE,CAAC;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAK,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAK,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAK,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAM,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAK,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAK,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAI,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAK,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAK,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAU,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACxG,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,+BAA+B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * highlight v3 | MIT license | Johann Burkard <jb@eaio.com>
3
+ * Highlights arbitrary terms in a node.
4
+ *
5
+ * - Modified by Marshal <beatgates@gmail.com> 2011-6-24 (added regex)
6
+ * - Modified by Brian Reavis <brian@thirdroute.com> 2012-8-27 (cleanup)
7
+ */
8
+ export declare const highlight: (element: HTMLElement, regex: string | RegExp) => void;
9
+ /**
10
+ * removeHighlight fn copied from highlight v5 and
11
+ * edited to remove with(), pass js strict mode, and use without jquery
12
+ */
13
+ export declare const removeHighlight: (el: HTMLElement) => void;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * highlight v3 | MIT license | Johann Burkard <jb@eaio.com>
3
+ * Highlights arbitrary terms in a node.
4
+ *
5
+ * - Modified by Marshal <beatgates@gmail.com> 2011-6-24 (added regex)
6
+ * - Modified by Brian Reavis <brian@thirdroute.com> 2012-8-27 (cleanup)
7
+ */
8
+ import { replaceNode } from "../vanilla.js";
9
+ export const highlight = (element, regex) => {
10
+ if (regex === null)
11
+ return;
12
+ // convet string to regex
13
+ if (typeof regex === 'string') {
14
+ if (!regex.length)
15
+ return;
16
+ regex = new RegExp(regex, 'i');
17
+ }
18
+ // Wrap matching part of text node with highlighting <span>, e.g.
19
+ // Soccer -> <span class="highlight">Soc</span>cer for regex = /soc/i
20
+ const highlightText = (node) => {
21
+ var match = node.data.match(regex);
22
+ if (match && node.data.length > 0) {
23
+ var spannode = document.createElement('span');
24
+ spannode.className = 'highlight';
25
+ var middlebit = node.splitText(match.index);
26
+ middlebit.splitText(match[0].length);
27
+ var middleclone = middlebit.cloneNode(true);
28
+ spannode.appendChild(middleclone);
29
+ replaceNode(middlebit, spannode);
30
+ return 1;
31
+ }
32
+ return 0;
33
+ };
34
+ // Recurse element node, looking for child text nodes to highlight, unless element
35
+ // is childless, <script>, <style>, or already highlighted: <span class="hightlight">
36
+ const highlightChildren = (node) => {
37
+ if (node.nodeType === 1 && node.childNodes && !/(script|style)/i.test(node.tagName) && (node.className !== 'highlight' || node.tagName !== 'SPAN')) {
38
+ Array.from(node.childNodes).forEach(element => {
39
+ highlightRecursive(element);
40
+ });
41
+ }
42
+ };
43
+ const highlightRecursive = (node) => {
44
+ if (node.nodeType === 3) {
45
+ return highlightText(node);
46
+ }
47
+ highlightChildren(node);
48
+ return 0;
49
+ };
50
+ highlightRecursive(element);
51
+ };
52
+ /**
53
+ * removeHighlight fn copied from highlight v5 and
54
+ * edited to remove with(), pass js strict mode, and use without jquery
55
+ */
56
+ export const removeHighlight = (el) => {
57
+ var elements = el.querySelectorAll("span.highlight");
58
+ Array.prototype.forEach.call(elements, function (el) {
59
+ var parent = el.parentNode;
60
+ parent.replaceChild(el.firstChild, el);
61
+ parent.normalize();
62
+ });
63
+ };
64
+ //# sourceMappingURL=highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../../src/contrib/highlight.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAG1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAmB,EAAE,KAAmB,EAAE,EAAE;IAErE,IAAI,KAAK,KAAK,IAAI;QAAG,OAAO;IAE5B,yBAAyB;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,CAAC,MAAM;YAAG,OAAO;QAC3B,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAGD,iEAAiE;IACjE,wEAAwE;IACxE,MAAM,aAAa,GAAG,CAAE,IAAS,EAAU,EAAE;QAE5C,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;YACjC,IAAI,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YAEvD,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,WAAW,GAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE7C,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAClC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,CAAC;QACV,CAAC;QAED,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,kFAAkF;IAClF,qFAAqF;IACrF,MAAM,iBAAiB,GAAG,CAAE,IAAY,EAAQ,EAAE;QACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAE,EAAE,CAAC;YACtJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7C,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC;IAGF,MAAM,kBAAkB,GAAG,CAAE,IAAiB,EAAU,EAAE;QAEzD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,aAAa,CAAC,IAAY,CAAC,CAAC;QACpC,CAAC;QAED,iBAAiB,CAAC,IAAe,CAAC,CAAC;QAEnC,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,kBAAkB,CAAE,OAAO,CAAE,CAAC;AAC/B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE;IACjD,IAAI,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACrD,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAS,EAAc;QAC7D,IAAI,MAAM,GAAG,EAAE,CAAC,UAAkB,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * MicroEvent - to make any js object an event emitter
3
+ *
4
+ * - pure javascript - server compatible, browser compatible
5
+ * - dont rely on the browser doms
6
+ * - super simple - you get it immediatly, no mistery, no magic involved
7
+ *
8
+ * @author Jerome Etienne (https://github.com/jeromeetienne)
9
+ */
10
+ type TCallback = (...args: any) => any;
11
+ export default class MicroEvent {
12
+ _events: {
13
+ [key: string]: TCallback[];
14
+ };
15
+ constructor();
16
+ on(events: string, fct: TCallback): void;
17
+ off(events: string, fct: TCallback): void;
18
+ trigger(events: string, ...args: any): void;
19
+ }
20
+ export {};
@@ -0,0 +1,61 @@
1
+ /**
2
+ * MicroEvent - to make any js object an event emitter
3
+ *
4
+ * - pure javascript - server compatible, browser compatible
5
+ * - dont rely on the browser doms
6
+ * - super simple - you get it immediatly, no mistery, no magic involved
7
+ *
8
+ * @author Jerome Etienne (https://github.com/jeromeetienne)
9
+ */
10
+ /**
11
+ * Execute callback for each event in space separated list of event names
12
+ *
13
+ */
14
+ function forEvents(events, callback) {
15
+ events.split(/\s+/).forEach((event) => {
16
+ callback(event);
17
+ });
18
+ }
19
+ export default class MicroEvent {
20
+ constructor() {
21
+ this._events = {};
22
+ }
23
+ on(events, fct) {
24
+ forEvents(events, (event) => {
25
+ const event_array = this._events[event] || [];
26
+ event_array.push(fct);
27
+ this._events[event] = event_array;
28
+ });
29
+ }
30
+ off(events, fct) {
31
+ var n = arguments.length;
32
+ if (n === 0) {
33
+ this._events = {};
34
+ return;
35
+ }
36
+ forEvents(events, (event) => {
37
+ if (n === 1) {
38
+ delete this._events[event];
39
+ return;
40
+ }
41
+ const event_array = this._events[event];
42
+ if (event_array === undefined)
43
+ return;
44
+ event_array.splice(event_array.indexOf(fct), 1);
45
+ this._events[event] = event_array;
46
+ });
47
+ }
48
+ trigger(events, ...args) {
49
+ var self = this;
50
+ forEvents(events, (event) => {
51
+ const event_array = self._events[event];
52
+ if (event_array === undefined)
53
+ return;
54
+ event_array.forEach(fct => {
55
+ fct.apply(self, args);
56
+ });
57
+ });
58
+ }
59
+ }
60
+ ;
61
+ //# sourceMappingURL=microevent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microevent.js","sourceRoot":"","sources":["../../../src/contrib/microevent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;GAGG;AACH,SAAS,SAAS,CAAC,MAAa,EAAC,QAA4B;IAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAI9B;QACC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,EAAE,CAAC,MAAa,EAAE,GAAa;QAC9B,SAAS,CAAC,MAAM,EAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QACnC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,MAAa,EAAE,GAAa;QAC/B,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,SAAS,CAAC,MAAM,EAAC,CAAC,KAAK,EAAE,EAAE;YAE1B,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAM;YACP,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,WAAW,KAAK,SAAS;gBAAG,OAAO;YAEvC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QACnC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAa,EAAE,GAAG,IAAQ;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,SAAS,CAAC,MAAM,EAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,WAAW,KAAK,SAAS;gBAAG,OAAO;YACvC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzB,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QAEJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAAA,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * microplugin.js
3
+ * Copyright (c) 2013 Brian Reavis & contributors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
6
+ * file except in compliance with the License. You may obtain a copy of the License at:
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ * ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ *
14
+ * @author Brian Reavis <brian@thirdroute.com>
15
+ */
16
+ type TSettings = {
17
+ [key: string]: any;
18
+ };
19
+ type TPlugins = {
20
+ names: string[];
21
+ settings: TSettings;
22
+ requested: {
23
+ [key: string]: boolean;
24
+ };
25
+ loaded: {
26
+ [key: string]: any;
27
+ };
28
+ };
29
+ export type TPluginItem = {
30
+ name: string;
31
+ options: {};
32
+ };
33
+ export type TPluginHash = {
34
+ [key: string]: {};
35
+ };
36
+ export default function MicroPlugin(Interface: any): {
37
+ new (): {
38
+ [x: string]: any;
39
+ plugins: TPlugins;
40
+ /**
41
+ * Initializes the listed plugins (with options).
42
+ * Acceptable formats:
43
+ *
44
+ * List (without options):
45
+ * ['a', 'b', 'c']
46
+ *
47
+ * List (with options):
48
+ * [{'name': 'a', options: {}}, {'name': 'b', options: {}}]
49
+ *
50
+ * Hash (with options):
51
+ * {'a': { ... }, 'b': { ... }, 'c': { ... }}
52
+ *
53
+ * @param {array|object} plugins
54
+ */
55
+ initializePlugins(plugins: string[] | TPluginItem[] | TPluginHash): void;
56
+ loadPlugin(name: string): void;
57
+ /**
58
+ * Initializes a plugin.
59
+ *
60
+ */
61
+ require(name: string): any;
62
+ };
63
+ [x: string]: any;
64
+ /**
65
+ * Registers a plugin.
66
+ *
67
+ * @param {function} fn
68
+ */
69
+ define(name: string, fn: (this: any, settings: TSettings) => any): void;
70
+ };
71
+ export {};
@@ -0,0 +1,109 @@
1
+ /**
2
+ * microplugin.js
3
+ * Copyright (c) 2013 Brian Reavis & contributors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
6
+ * file except in compliance with the License. You may obtain a copy of the License at:
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ * ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ *
14
+ * @author Brian Reavis <brian@thirdroute.com>
15
+ */
16
+ export default function MicroPlugin(Interface) {
17
+ Interface.plugins = {};
18
+ return class extends Interface {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.plugins = {
22
+ names: [],
23
+ settings: {},
24
+ requested: {},
25
+ loaded: {}
26
+ };
27
+ }
28
+ /**
29
+ * Registers a plugin.
30
+ *
31
+ * @param {function} fn
32
+ */
33
+ static define(name, fn) {
34
+ Interface.plugins[name] = {
35
+ 'name': name,
36
+ 'fn': fn
37
+ };
38
+ }
39
+ /**
40
+ * Initializes the listed plugins (with options).
41
+ * Acceptable formats:
42
+ *
43
+ * List (without options):
44
+ * ['a', 'b', 'c']
45
+ *
46
+ * List (with options):
47
+ * [{'name': 'a', options: {}}, {'name': 'b', options: {}}]
48
+ *
49
+ * Hash (with options):
50
+ * {'a': { ... }, 'b': { ... }, 'c': { ... }}
51
+ *
52
+ * @param {array|object} plugins
53
+ */
54
+ initializePlugins(plugins) {
55
+ var key, name;
56
+ const self = this;
57
+ const queue = [];
58
+ if (Array.isArray(plugins)) {
59
+ plugins.forEach((plugin) => {
60
+ if (typeof plugin === 'string') {
61
+ queue.push(plugin);
62
+ }
63
+ else {
64
+ self.plugins.settings[plugin.name] = plugin.options;
65
+ queue.push(plugin.name);
66
+ }
67
+ });
68
+ }
69
+ else if (plugins) {
70
+ for (key in plugins) {
71
+ if (plugins.hasOwnProperty(key)) {
72
+ self.plugins.settings[key] = plugins[key];
73
+ queue.push(key);
74
+ }
75
+ }
76
+ }
77
+ while (name = queue.shift()) {
78
+ self.require(name);
79
+ }
80
+ }
81
+ loadPlugin(name) {
82
+ var self = this;
83
+ var plugins = self.plugins;
84
+ var plugin = Interface.plugins[name];
85
+ if (!Interface.plugins.hasOwnProperty(name)) {
86
+ throw new Error('Unable to find "' + name + '" plugin');
87
+ }
88
+ plugins.requested[name] = true;
89
+ plugins.loaded[name] = plugin.fn.apply(self, [self.plugins.settings[name] || {}]);
90
+ plugins.names.push(name);
91
+ }
92
+ /**
93
+ * Initializes a plugin.
94
+ *
95
+ */
96
+ require(name) {
97
+ var self = this;
98
+ var plugins = self.plugins;
99
+ if (!self.plugins.loaded.hasOwnProperty(name)) {
100
+ if (plugins.requested[name]) {
101
+ throw new Error('Plugin has circular dependency ("' + name + '")');
102
+ }
103
+ self.loadPlugin(name);
104
+ }
105
+ return plugins.loaded[name];
106
+ }
107
+ };
108
+ }
109
+ //# sourceMappingURL=microplugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microplugin.js","sourceRoot":"","sources":["../../../src/contrib/microplugin.ts"],"names":[],"mappings":"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"}