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
@@ -1,336 +1,280 @@
1
1
  /**
2
- * Tom Select v2.2.2
2
+ * Tom Select v2.4.3
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
8
- typeof define === 'function' && define.amd ? define(factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.virtual_scroll = factory());
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
8
+ typeof define === 'function' && define.amd ? define(factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.virtual_scroll = factory());
10
10
  })(this, (function () { 'use strict';
11
11
 
12
- /*! @orchidjs/unicode-variants | https://github.com/orchidjs/unicode-variants | Apache License (v2) */
13
- const accent_pat = '[\u0300-\u036F\u{b7}\u{2be}\u{2bc}]';
14
- /** @type {TUnicodeMap} */
15
-
16
- const latin_convert = {};
17
- /** @type {TUnicodeMap} */
18
-
19
- const latin_condensed = {
20
- '/': '⁄∕',
21
- '0': '߀',
22
- "a": "ⱥɐɑ",
23
- "aa": "ꜳ",
24
- "ae": "æǽǣ",
25
- "ao": "ꜵ",
26
- "au": "ꜷ",
27
- "av": "ꜹꜻ",
28
- "ay": "ꜽ",
29
- "b": "ƀɓƃ",
30
- "c": "ꜿƈȼↄ",
31
- "d": "đɗɖᴅƌꮷԁɦ",
32
- "e": "ɛǝᴇɇ",
33
- "f": "ꝼƒ",
34
- "g": "ǥɠꞡᵹꝿɢ",
35
- "h": "ħⱨⱶɥ",
36
- "i": "ɨı",
37
- "j": "ɉȷ",
38
- "k": "ƙⱪꝁꝃꝅꞣ",
39
- "l": "łƚɫⱡꝉꝇꞁɭ",
40
- "m": "ɱɯϻ",
41
- "n": "ꞥƞɲꞑᴎлԉ",
42
- "o": "øǿɔɵꝋꝍᴑ",
43
- "oe": "œ",
44
- "oi": "ƣ",
45
- "oo": "ꝏ",
46
- "ou": "ȣ",
47
- "p": "ƥᵽꝑꝓꝕρ",
48
- "q": "ꝗꝙɋ",
49
- "r": "ɍɽꝛꞧꞃ",
50
- "s": "ßȿꞩꞅʂ",
51
- "t": "ŧƭʈⱦꞇ",
52
- "th": "þ",
53
- "tz": "ꜩ",
54
- "u": "ʉ",
55
- "v": "ʋꝟʌ",
56
- "vy": "ꝡ",
57
- "w": "ⱳ",
58
- "y": "ƴɏỿ",
59
- "z": "ƶȥɀⱬꝣ",
60
- "hv": "ƕ"
61
- };
62
-
63
- for (let latin in latin_condensed) {
64
- let unicode = latin_condensed[latin] || '';
65
-
66
- for (let i = 0; i < unicode.length; i++) {
67
- let char = unicode.substring(i, i + 1);
68
- latin_convert[char] = latin;
69
- }
70
- }
71
-
72
- new RegExp(Object.keys(latin_convert).join('|') + '|' + accent_pat, 'gu');
73
-
74
- /**
75
- * Iterates over arrays and hashes.
76
- *
77
- * ```
78
- * iterate(this.items, function(item, id) {
79
- * // invoked for each item
80
- * });
81
- * ```
82
- *
83
- */
84
-
85
- const iterate = (object, callback) => {
86
- if (Array.isArray(object)) {
87
- object.forEach(callback);
88
- } else {
89
- for (var key in object) {
90
- if (object.hasOwnProperty(key)) {
91
- callback(object[key], key);
92
- }
93
- }
94
- }
95
- };
96
-
97
- /**
98
- * Add css classes
99
- *
100
- */
101
-
102
- const addClasses = (elmts, ...classes) => {
103
- var norm_classes = classesArray(classes);
104
- elmts = castAsArray(elmts);
105
- elmts.map(el => {
106
- norm_classes.map(cls => {
107
- el.classList.add(cls);
108
- });
109
- });
110
- };
111
- /**
112
- * Return arguments
113
- *
114
- */
115
-
116
- const classesArray = args => {
117
- var classes = [];
118
- iterate(args, _classes => {
119
- if (typeof _classes === 'string') {
120
- _classes = _classes.trim().split(/[\11\12\14\15\40]/);
121
- }
122
-
123
- if (Array.isArray(_classes)) {
124
- classes = classes.concat(_classes);
125
- }
126
- });
127
- return classes.filter(Boolean);
128
- };
129
- /**
130
- * Create an array from arg if it's not already an array
131
- *
132
- */
133
-
134
- const castAsArray = arg => {
135
- if (!Array.isArray(arg)) {
136
- arg = [arg];
137
- }
138
-
139
- return arg;
140
- };
141
-
142
- /**
143
- * Plugin: "restore_on_backspace" (Tom Select)
144
- * Copyright (c) contributors
145
- *
146
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
147
- * file except in compliance with the License. You may obtain a copy of the License at:
148
- * http://www.apache.org/licenses/LICENSE-2.0
149
- *
150
- * Unless required by applicable law or agreed to in writing, software distributed under
151
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
152
- * ANY KIND, either express or implied. See the License for the specific language
153
- * governing permissions and limitations under the License.
154
- *
155
- */
156
- function plugin () {
157
- const self = this;
158
- const orig_canLoad = self.canLoad;
159
- const orig_clearActiveOption = self.clearActiveOption;
160
- const orig_loadCallback = self.loadCallback;
161
- var pagination = {};
162
- var dropdown_content;
163
- var loading_more = false;
164
- var load_more_opt;
165
- var default_values = [];
166
-
167
- if (!self.settings.shouldLoadMore) {
168
- // return true if additional results should be loaded
169
- self.settings.shouldLoadMore = () => {
170
- const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);
171
-
172
- if (scroll_percent > 0.9) {
173
- return true;
174
- }
175
-
176
- if (self.activeOption) {
177
- var selectable = self.selectable();
178
- var index = Array.from(selectable).indexOf(self.activeOption);
179
-
180
- if (index >= selectable.length - 2) {
181
- return true;
182
- }
183
- }
184
-
185
- return false;
186
- };
187
- }
188
-
189
- if (!self.settings.firstUrl) {
190
- throw 'virtual_scroll plugin requires a firstUrl() method';
191
- } // in order for virtual scrolling to work,
192
- // options need to be ordered the same way they're returned from the remote data source
193
-
194
-
195
- self.settings.sortField = [{
196
- field: '$order'
197
- }, {
198
- field: '$score'
199
- }]; // can we load more results for given query?
200
-
201
- const canLoadMore = query => {
202
- if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
203
- return false;
204
- }
205
-
206
- if (query in pagination && pagination[query]) {
207
- return true;
208
- }
209
-
210
- return false;
211
- };
212
-
213
- const clearFilter = (option, value) => {
214
- if (self.items.indexOf(value) >= 0 || default_values.indexOf(value) >= 0) {
215
- return true;
216
- }
217
-
218
- return false;
219
- }; // set the next url that will be
220
-
221
-
222
- self.setNextUrl = (value, next_url) => {
223
- pagination[value] = next_url;
224
- }; // getUrl() to be used in settings.load()
225
-
226
-
227
- self.getUrl = query => {
228
- if (query in pagination) {
229
- const next_url = pagination[query];
230
- pagination[query] = false;
231
- return next_url;
232
- } // if the user goes back to a previous query
233
- // we need to load the first page again
234
-
235
-
236
- pagination = {};
237
- return self.settings.firstUrl.call(self, query);
238
- }; // don't clear the active option (and cause unwanted dropdown scroll)
239
- // while loading more results
240
-
241
-
242
- self.hook('instead', 'clearActiveOption', () => {
243
- if (loading_more) {
244
- return;
245
- }
246
-
247
- return orig_clearActiveOption.call(self);
248
- }); // override the canLoad method
249
-
250
- self.hook('instead', 'canLoad', query => {
251
- // first time the query has been seen
252
- if (!(query in pagination)) {
253
- return orig_canLoad.call(self, query);
254
- }
255
-
256
- return canLoadMore(query);
257
- }); // wrap the load
258
-
259
- self.hook('instead', 'loadCallback', (options, optgroups) => {
260
- if (!loading_more) {
261
- self.clearOptions(clearFilter);
262
- } else if (load_more_opt) {
263
- const first_option = options[0];
264
-
265
- if (first_option !== undefined) {
266
- load_more_opt.dataset.value = first_option[self.settings.valueField];
267
- }
268
- }
269
-
270
- orig_loadCallback.call(self, options, optgroups);
271
- loading_more = false;
272
- }); // add templates to dropdown
273
- // loading_more if we have another url in the queue
274
- // no_more_results if we don't have another url in the queue
275
-
276
- self.hook('after', 'refreshOptions', () => {
277
- const query = self.lastValue;
278
- var option;
279
-
280
- if (canLoadMore(query)) {
281
- option = self.render('loading_more', {
282
- query: query
283
- });
284
-
285
- if (option) {
286
- option.setAttribute('data-selectable', ''); // so that navigating dropdown with [down] keypresses can navigate to this node
287
-
288
- load_more_opt = option;
289
- }
290
- } else if (query in pagination && !dropdown_content.querySelector('.no-results')) {
291
- option = self.render('no_more_results', {
292
- query: query
293
- });
294
- }
295
-
296
- if (option) {
297
- addClasses(option, self.settings.optionClass);
298
- dropdown_content.append(option);
299
- }
300
- }); // add scroll listener and default templates
301
-
302
- self.on('initialize', () => {
303
- default_values = Object.keys(self.options);
304
- dropdown_content = self.dropdown_content; // default templates
305
-
306
- self.settings.render = Object.assign({}, {
307
- loading_more: () => {
308
- return `<div class="loading-more-results">Loading more results ... </div>`;
309
- },
310
- no_more_results: () => {
311
- return `<div class="no-more-results">No more results</div>`;
312
- }
313
- }, self.settings.render); // watch dropdown content scroll position
314
-
315
- dropdown_content.addEventListener('scroll', () => {
316
- if (!self.settings.shouldLoadMore.call(self)) {
317
- return;
318
- } // !important: this will get checked again in load() but we still need to check here otherwise loading_more will be set to true
319
-
320
-
321
- if (!canLoadMore(self.lastValue)) {
322
- return;
323
- } // don't call load() too much
324
-
325
-
326
- if (loading_more) return;
327
- loading_more = true;
328
- self.load.call(self, self.lastValue);
329
- });
330
- });
331
- }
332
-
333
- return plugin;
12
+ /**
13
+ * Converts a scalar to its best string representation
14
+ * for hash keys and HTML attribute values.
15
+ *
16
+ * Transformations:
17
+ * 'str' -> 'str'
18
+ * null -> ''
19
+ * undefined -> ''
20
+ * true -> '1'
21
+ * false -> '0'
22
+ * 0 -> '0'
23
+ * 1 -> '1'
24
+ *
25
+ */
26
+
27
+ /**
28
+ * Iterates over arrays and hashes.
29
+ *
30
+ * ```
31
+ * iterate(this.items, function(item, id) {
32
+ * // invoked for each item
33
+ * });
34
+ * ```
35
+ *
36
+ */
37
+ const iterate = (object, callback) => {
38
+ if (Array.isArray(object)) {
39
+ object.forEach(callback);
40
+ } else {
41
+ for (var key in object) {
42
+ if (object.hasOwnProperty(key)) {
43
+ callback(object[key], key);
44
+ }
45
+ }
46
+ }
47
+ };
48
+
49
+ /**
50
+ * Add css classes
51
+ *
52
+ */
53
+ const addClasses = (elmts, ...classes) => {
54
+ var norm_classes = classesArray(classes);
55
+ elmts = castAsArray(elmts);
56
+ elmts.map(el => {
57
+ norm_classes.map(cls => {
58
+ el.classList.add(cls);
59
+ });
60
+ });
61
+ };
62
+
63
+ /**
64
+ * Return arguments
65
+ *
66
+ */
67
+ const classesArray = args => {
68
+ var classes = [];
69
+ iterate(args, _classes => {
70
+ if (typeof _classes === 'string') {
71
+ _classes = _classes.trim().split(/[\t\n\f\r\s]/);
72
+ }
73
+ if (Array.isArray(_classes)) {
74
+ classes = classes.concat(_classes);
75
+ }
76
+ });
77
+ return classes.filter(Boolean);
78
+ };
79
+
80
+ /**
81
+ * Create an array from arg if it's not already an array
82
+ *
83
+ */
84
+ const castAsArray = arg => {
85
+ if (!Array.isArray(arg)) {
86
+ arg = [arg];
87
+ }
88
+ return arg;
89
+ };
90
+
91
+ /**
92
+ * Plugin: "restore_on_backspace" (Tom Select)
93
+ * Copyright (c) contributors
94
+ *
95
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
96
+ * file except in compliance with the License. You may obtain a copy of the License at:
97
+ * http://www.apache.org/licenses/LICENSE-2.0
98
+ *
99
+ * Unless required by applicable law or agreed to in writing, software distributed under
100
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
101
+ * ANY KIND, either express or implied. See the License for the specific language
102
+ * governing permissions and limitations under the License.
103
+ *
104
+ */
105
+
106
+ function plugin () {
107
+ const self = this;
108
+ const orig_canLoad = self.canLoad;
109
+ const orig_clearActiveOption = self.clearActiveOption;
110
+ const orig_loadCallback = self.loadCallback;
111
+ var pagination = {};
112
+ var dropdown_content;
113
+ var loading_more = false;
114
+ var load_more_opt;
115
+ var default_values = [];
116
+ if (!self.settings.shouldLoadMore) {
117
+ // return true if additional results should be loaded
118
+ self.settings.shouldLoadMore = () => {
119
+ const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);
120
+ if (scroll_percent > 0.9) {
121
+ return true;
122
+ }
123
+ if (self.activeOption) {
124
+ var selectable = self.selectable();
125
+ var index = Array.from(selectable).indexOf(self.activeOption);
126
+ if (index >= selectable.length - 2) {
127
+ return true;
128
+ }
129
+ }
130
+ return false;
131
+ };
132
+ }
133
+ if (!self.settings.firstUrl) {
134
+ throw 'virtual_scroll plugin requires a firstUrl() method';
135
+ }
136
+
137
+ // in order for virtual scrolling to work,
138
+ // options need to be ordered the same way they're returned from the remote data source
139
+ self.settings.sortField = [{
140
+ field: '$order'
141
+ }, {
142
+ field: '$score'
143
+ }];
144
+
145
+ // can we load more results for given query?
146
+ const canLoadMore = query => {
147
+ if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
148
+ return false;
149
+ }
150
+ if (query in pagination && pagination[query]) {
151
+ return true;
152
+ }
153
+ return false;
154
+ };
155
+ const clearFilter = (option, value) => {
156
+ if (self.items.indexOf(value) >= 0 || default_values.indexOf(value) >= 0) {
157
+ return true;
158
+ }
159
+ return false;
160
+ };
161
+
162
+ // set the next url that will be
163
+ self.setNextUrl = (value, next_url) => {
164
+ pagination[value] = next_url;
165
+ };
166
+
167
+ // getUrl() to be used in settings.load()
168
+ self.getUrl = query => {
169
+ if (query in pagination) {
170
+ const next_url = pagination[query];
171
+ pagination[query] = false;
172
+ return next_url;
173
+ }
174
+
175
+ // if the user goes back to a previous query
176
+ // we need to load the first page again
177
+ self.clearPagination();
178
+ return self.settings.firstUrl.call(self, query);
179
+ };
180
+
181
+ // clear pagination
182
+ self.clearPagination = () => {
183
+ pagination = {};
184
+ };
185
+
186
+ // don't clear the active option (and cause unwanted dropdown scroll)
187
+ // while loading more results
188
+ self.hook('instead', 'clearActiveOption', () => {
189
+ if (loading_more) {
190
+ return;
191
+ }
192
+ return orig_clearActiveOption.call(self);
193
+ });
194
+
195
+ // override the canLoad method
196
+ self.hook('instead', 'canLoad', query => {
197
+ // first time the query has been seen
198
+ if (!(query in pagination)) {
199
+ return orig_canLoad.call(self, query);
200
+ }
201
+ return canLoadMore(query);
202
+ });
203
+
204
+ // wrap the load
205
+ self.hook('instead', 'loadCallback', (options, optgroups) => {
206
+ if (!loading_more) {
207
+ self.clearOptions(clearFilter);
208
+ } else if (load_more_opt) {
209
+ const first_option = options[0];
210
+ if (first_option !== undefined) {
211
+ load_more_opt.dataset.value = first_option[self.settings.valueField];
212
+ }
213
+ }
214
+ orig_loadCallback.call(self, options, optgroups);
215
+ loading_more = false;
216
+ });
217
+
218
+ // add templates to dropdown
219
+ // loading_more if we have another url in the queue
220
+ // no_more_results if we don't have another url in the queue
221
+ self.hook('after', 'refreshOptions', () => {
222
+ const query = self.lastValue;
223
+ var option;
224
+ if (canLoadMore(query)) {
225
+ option = self.render('loading_more', {
226
+ query: query
227
+ });
228
+ if (option) {
229
+ option.setAttribute('data-selectable', ''); // so that navigating dropdown with [down] keypresses can navigate to this node
230
+ load_more_opt = option;
231
+ }
232
+ } else if (query in pagination && !dropdown_content.querySelector('.no-results')) {
233
+ option = self.render('no_more_results', {
234
+ query: query
235
+ });
236
+ }
237
+ if (option) {
238
+ addClasses(option, self.settings.optionClass);
239
+ dropdown_content.append(option);
240
+ }
241
+ });
242
+
243
+ // add scroll listener and default templates
244
+ self.on('initialize', () => {
245
+ default_values = Object.keys(self.options);
246
+ dropdown_content = self.dropdown_content;
247
+
248
+ // default templates
249
+ self.settings.render = Object.assign({}, {
250
+ loading_more: () => {
251
+ return `<div class="loading-more-results">Loading more results ... </div>`;
252
+ },
253
+ no_more_results: () => {
254
+ return `<div class="no-more-results">No more results</div>`;
255
+ }
256
+ }, self.settings.render);
257
+
258
+ // watch dropdown content scroll position
259
+ dropdown_content.addEventListener('scroll', () => {
260
+ if (!self.settings.shouldLoadMore.call(self)) {
261
+ return;
262
+ }
263
+
264
+ // !important: this will get checked again in load() but we still need to check here otherwise loading_more will be set to true
265
+ if (!canLoadMore(self.lastValue)) {
266
+ return;
267
+ }
268
+
269
+ // don't call load() too much
270
+ if (loading_more) return;
271
+ loading_more = true;
272
+ self.load.call(self, self.lastValue);
273
+ });
274
+ });
275
+ }
276
+
277
+ return plugin;
334
278
 
335
279
  }));
336
280
  //# sourceMappingURL=virtual_scroll.js.map