tom-select-rails 2.2.2 → 2.4.3

Sign up to get free protection for your applications and to get access to all the features.
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,49 @@
1
+ import type TomSelect from '../tom-select.ts';
2
+ import { escape_html } from '../utils.ts';
3
+ export interface TomInput extends HTMLElement {
4
+ tomselect?: TomSelect;
5
+ disabled: boolean;
6
+ readOnly?: boolean;
7
+ required: boolean;
8
+ value: string;
9
+ type: string;
10
+ validity: ValidityState;
11
+ }
12
+ export type TomArgObject = {
13
+ silent?: boolean;
14
+ };
15
+ export type TomOption = {
16
+ [key: string]: any;
17
+ };
18
+ export type TomOptions = {
19
+ [key: string]: TomOption;
20
+ };
21
+ export type TomCreateFilter = (input: string) => boolean;
22
+ export type TomCreateCallback = (data?: TomOption) => void;
23
+ export type TomCreate = (input: string, create: TomCreateCallback) => boolean;
24
+ export interface TomItem extends HTMLElement {
25
+ dataset: {
26
+ value: string;
27
+ };
28
+ }
29
+ export type TomLoadCallback = TomSelect['loadCallback'];
30
+ export type TomTemplate = (data: TomOption, escape: typeof escape_html) => string | HTMLElement;
31
+ export type TomTemplateNull = (data: TomOption, escape: typeof escape_html) => null | string | HTMLElement;
32
+ export type TomTemplates = {
33
+ 'dropdown': TomTemplate;
34
+ 'optgroup': TomTemplate;
35
+ 'optgroup_header': TomTemplate;
36
+ 'option': TomTemplate;
37
+ 'item': TomTemplate;
38
+ 'option_create': TomTemplate;
39
+ 'no_results': TomTemplate;
40
+ 'loading': TomTemplate;
41
+ 'not_loading': TomTemplateNull;
42
+ 'loading_more': TomTemplateNull;
43
+ 'no_more_results': TomTemplateNull;
44
+ };
45
+ export type TomTemplateNames = keyof TomTemplates;
46
+ export type TomClearFilter = (option: TomOption, value: string) => boolean;
47
+ export type RecursivePartial<T> = {
48
+ [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
49
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/types/core.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './core.ts';
2
+ export * from './settings.ts';
@@ -0,0 +1,3 @@
1
+ export * from "./core.js";
2
+ export * from "./settings.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { TomCreateFilter, TomCreate, TomLoadCallback, TomTemplates, TomOption } from './index.ts';
2
+ import { TPluginItem, TPluginHash } from '../contrib/microplugin.ts';
3
+ import { type Sort as SifterSort, type SortFn as SifterSortFn } from '@orchidjs/sifter';
4
+ export type TomSettings = {
5
+ options?: any[];
6
+ optgroups?: any[];
7
+ items?: string[];
8
+ plugins: string[] | TPluginItem[] | TPluginHash;
9
+ delimiter: string;
10
+ splitOn: RegExp | string;
11
+ persist: boolean;
12
+ diacritics: boolean;
13
+ create: boolean | TomCreate;
14
+ createOnBlur: boolean;
15
+ createFilter: RegExp | string | TomCreateFilter;
16
+ highlight: boolean;
17
+ openOnFocus: boolean;
18
+ shouldOpen: boolean;
19
+ maxOptions: number;
20
+ maxItems: null | number;
21
+ hideSelected: boolean;
22
+ duplicates: boolean;
23
+ addPrecedence: boolean;
24
+ selectOnTab: boolean;
25
+ preload: boolean | string;
26
+ allowEmptyOption: boolean;
27
+ closeAfterSelect: boolean;
28
+ refreshThrottle: number;
29
+ loadThrottle: number;
30
+ loadingClass: string;
31
+ dataAttr: string;
32
+ optgroupField: string;
33
+ valueField: string;
34
+ labelField: string;
35
+ disabledField: string;
36
+ optgroupLabelField: string;
37
+ optgroupValueField: string;
38
+ lockOptgroupOrder: boolean;
39
+ sortField: string | SifterSort[] | SifterSortFn;
40
+ searchField: string[];
41
+ searchConjunction: string;
42
+ nesting: boolean;
43
+ mode: string;
44
+ wrapperClass: string;
45
+ controlClass: string;
46
+ dropdownClass: string;
47
+ dropdownContentClass: string;
48
+ itemClass: string;
49
+ optionClass: string;
50
+ dropdownParent: string;
51
+ controlInput: string | HTMLInputElement;
52
+ copyClassesToDropdown: boolean;
53
+ placeholder: string;
54
+ hidePlaceholder: boolean;
55
+ load: (value: string, callback: TomLoadCallback) => void;
56
+ score?: (query: string) => () => any;
57
+ shouldLoad: (query: string) => boolean;
58
+ onInitialize: () => void;
59
+ onChange: (value: string | number) => void;
60
+ onItemAdd: (value: string | number, item: HTMLDivElement) => void;
61
+ onItemRemove: (value: string | number, item: HTMLDivElement) => void;
62
+ onClear: () => void;
63
+ onOptionAdd: (value: string | number, data: TomOption) => void;
64
+ onOptionRemove: (value: string | number) => void;
65
+ onOptionClear: () => void;
66
+ onOptionGroupAdd: (value: string | number, data: TomOption) => void;
67
+ onOptionGroupRemove: (value: string | number) => void;
68
+ onOptionGroupClear: () => void;
69
+ onDropdownOpen: (dropdown: HTMLDivElement) => void;
70
+ onDropdownClose: (dropdown: HTMLDivElement) => void;
71
+ onType: (str: string) => void;
72
+ onLoad: (options: TomOption[], optgroups: TomOption[]) => void;
73
+ onFocus: () => void;
74
+ onBlur: () => void;
75
+ onDelete: (values: string[], evt: KeyboardEvent | MouseEvent) => boolean;
76
+ render: TomTemplates;
77
+ firstUrl: (query: string) => any;
78
+ shouldLoadMore: () => boolean;
79
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/types/settings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,95 @@
1
+ import type TomSelect from './tom-select.ts';
2
+ import { TomLoadCallback } from './types/index.ts';
3
+ /**
4
+ * Converts a scalar to its best string representation
5
+ * for hash keys and HTML attribute values.
6
+ *
7
+ * Transformations:
8
+ * 'str' -> 'str'
9
+ * null -> ''
10
+ * undefined -> ''
11
+ * true -> '1'
12
+ * false -> '0'
13
+ * 0 -> '0'
14
+ * 1 -> '1'
15
+ *
16
+ */
17
+ export declare const hash_key: (value: undefined | null | boolean | string | number) => string | null;
18
+ export declare const get_hash: (value: boolean | string | number) => string;
19
+ /**
20
+ * Escapes a string for use within HTML.
21
+ *
22
+ */
23
+ export declare const escape_html: (str: string) => string;
24
+ /**
25
+ * use setTimeout if timeout > 0
26
+ */
27
+ export declare const timeout: (fn: () => void, timeout: number) => number | null;
28
+ /**
29
+ * Debounce the user provided load function
30
+ *
31
+ */
32
+ export declare const loadDebounce: (fn: (value: string, callback: TomLoadCallback) => void, delay: number) => (this: TomSelect, value: string, callback: TomLoadCallback) => void;
33
+ /**
34
+ * Debounce all fired events types listed in `types`
35
+ * while executing the provided `fn`.
36
+ *
37
+ */
38
+ export declare const debounce_events: (self: TomSelect, types: string[], fn: () => void) => void;
39
+ /**
40
+ * Determines the current selection within a text input control.
41
+ * Returns an object containing:
42
+ * - start
43
+ * - length
44
+ *
45
+ * Note: "selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password"
46
+ * - https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange
47
+ */
48
+ export declare const getSelection: (input: HTMLInputElement) => {
49
+ start: number;
50
+ length: number;
51
+ };
52
+ /**
53
+ * Prevent default
54
+ *
55
+ */
56
+ export declare const preventDefault: (evt?: Event, stop?: boolean) => void;
57
+ /**
58
+ * Add event helper
59
+ *
60
+ */
61
+ export declare const addEvent: (target: EventTarget, type: string, callback: EventListenerOrEventListenerObject, options?: object) => void;
62
+ /**
63
+ * Return true if the requested key is down
64
+ * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )
65
+ * The current evt may not always set ( eg calling advanceSelection() )
66
+ *
67
+ */
68
+ export declare const isKeyDown: (key_name: keyof (KeyboardEvent | MouseEvent), evt?: KeyboardEvent | MouseEvent) => boolean;
69
+ /**
70
+ * Get the id of an element
71
+ * If the id attribute is not set, set the attribute with the given id
72
+ *
73
+ */
74
+ export declare const getId: (el: Element, id: string) => string;
75
+ /**
76
+ * Returns a string with backslashes added before characters that need to be escaped.
77
+ */
78
+ export declare const addSlashes: (str: string) => string;
79
+ /**
80
+ *
81
+ */
82
+ export declare const append: (parent: Element | DocumentFragment, node: string | Node | null | undefined) => void;
83
+ /**
84
+ * Iterates over arrays and hashes.
85
+ *
86
+ * ```
87
+ * iterate(this.items, function(item, id) {
88
+ * // invoked for each item
89
+ * });
90
+ * ```
91
+ *
92
+ */
93
+ export declare const iterate: (object: [] | {
94
+ [key: string]: any;
95
+ }, callback: (value: any, key: any) => any) => void;
@@ -1,8 +1,3 @@
1
- /**
2
- * Tom Select v2.2.2
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- */
5
-
6
1
  /**
7
2
  * Converts a scalar to its best string representation
8
3
  * for hash keys and HTML attribute values.
@@ -17,74 +12,84 @@
17
12
  * 1 -> '1'
18
13
  *
19
14
  */
20
- const hash_key = value => {
21
- if (typeof value === 'undefined' || value === null) return null;
22
- return get_hash(value);
15
+ export const hash_key = (value) => {
16
+ if (typeof value === 'undefined' || value === null)
17
+ return null;
18
+ return get_hash(value);
23
19
  };
24
- const get_hash = value => {
25
- if (typeof value === 'boolean') return value ? '1' : '0';
26
- return value + '';
20
+ export const get_hash = (value) => {
21
+ if (typeof value === 'boolean')
22
+ return value ? '1' : '0';
23
+ return value + '';
27
24
  };
28
25
  /**
29
26
  * Escapes a string for use within HTML.
30
27
  *
31
28
  */
32
-
33
- const escape_html = str => {
34
- return (str + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
29
+ export const escape_html = (str) => {
30
+ return (str + '')
31
+ .replace(/&/g, '&amp;')
32
+ .replace(/</g, '&lt;')
33
+ .replace(/>/g, '&gt;')
34
+ .replace(/"/g, '&quot;');
35
+ };
36
+ /**
37
+ * use setTimeout if timeout > 0
38
+ */
39
+ export const timeout = (fn, timeout) => {
40
+ if (timeout > 0) {
41
+ return window.setTimeout(fn, timeout);
42
+ }
43
+ fn.call(null);
44
+ return null;
35
45
  };
36
46
  /**
37
47
  * Debounce the user provided load function
38
48
  *
39
49
  */
40
-
41
- const loadDebounce = (fn, delay) => {
42
- var timeout;
43
- return function (value, callback) {
44
- var self = this;
45
-
46
- if (timeout) {
47
- self.loading = Math.max(self.loading - 1, 0);
48
- clearTimeout(timeout);
49
- }
50
-
51
- timeout = setTimeout(function () {
52
- timeout = null;
53
- self.loadedSearches[value] = true;
54
- fn.call(self, value, callback);
55
- }, delay);
56
- };
50
+ export const loadDebounce = (fn, delay) => {
51
+ var timeout;
52
+ return function (value, callback) {
53
+ var self = this;
54
+ if (timeout) {
55
+ self.loading = Math.max(self.loading - 1, 0);
56
+ clearTimeout(timeout);
57
+ }
58
+ timeout = setTimeout(function () {
59
+ timeout = null;
60
+ self.loadedSearches[value] = true;
61
+ fn.call(self, value, callback);
62
+ }, delay);
63
+ };
57
64
  };
58
65
  /**
59
66
  * Debounce all fired events types listed in `types`
60
67
  * while executing the provided `fn`.
61
68
  *
62
69
  */
63
-
64
- const debounce_events = (self, types, fn) => {
65
- var type;
66
- var trigger = self.trigger;
67
- var event_args = {}; // override trigger method
68
-
69
- self.trigger = function () {
70
- var type = arguments[0];
71
-
72
- if (types.indexOf(type) !== -1) {
73
- event_args[type] = arguments;
74
- } else {
75
- return trigger.apply(self, arguments);
76
- }
77
- }; // invoke provided function
78
-
79
-
80
- fn.apply(self, []);
81
- self.trigger = trigger; // trigger queued events
82
-
83
- for (type of types) {
84
- if (type in event_args) {
85
- trigger.apply(self, event_args[type]);
70
+ export const debounce_events = (self, types, fn) => {
71
+ var type;
72
+ var trigger = self.trigger;
73
+ var event_args = {};
74
+ // override trigger method
75
+ self.trigger = function () {
76
+ var type = arguments[0];
77
+ if (types.indexOf(type) !== -1) {
78
+ event_args[type] = arguments;
79
+ }
80
+ else {
81
+ return trigger.apply(self, arguments);
82
+ }
83
+ };
84
+ // invoke provided function
85
+ fn.apply(self, []);
86
+ self.trigger = trigger;
87
+ // trigger queued events
88
+ for (type of types) {
89
+ if (type in event_args) {
90
+ trigger.apply(self, event_args[type]);
91
+ }
86
92
  }
87
- }
88
93
  };
89
94
  /**
90
95
  * Determines the current selection within a text input control.
@@ -92,35 +97,33 @@ const debounce_events = (self, types, fn) => {
92
97
  * - start
93
98
  * - length
94
99
  *
100
+ * Note: "selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password"
101
+ * - https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange
95
102
  */
96
-
97
- const getSelection = input => {
98
- return {
99
- start: input.selectionStart || 0,
100
- length: (input.selectionEnd || 0) - (input.selectionStart || 0)
101
- };
103
+ export const getSelection = (input) => {
104
+ return {
105
+ start: input.selectionStart || 0,
106
+ length: (input.selectionEnd || 0) - (input.selectionStart || 0),
107
+ };
102
108
  };
103
109
  /**
104
110
  * Prevent default
105
111
  *
106
112
  */
107
-
108
- const preventDefault = (evt, stop = false) => {
109
- if (evt) {
110
- evt.preventDefault();
111
-
112
- if (stop) {
113
- evt.stopPropagation();
113
+ export const preventDefault = (evt, stop = false) => {
114
+ if (evt) {
115
+ evt.preventDefault();
116
+ if (stop) {
117
+ evt.stopPropagation();
118
+ }
114
119
  }
115
- }
116
120
  };
117
121
  /**
118
122
  * Add event helper
119
123
  *
120
124
  */
121
-
122
- const addEvent = (target, type, callback, options) => {
123
- target.addEventListener(type, callback, options);
125
+ export const addEvent = (target, type, callback, options) => {
126
+ target.addEventListener(type, callback, options);
124
127
  };
125
128
  /**
126
129
  * Return true if the requested key is down
@@ -128,54 +131,65 @@ const addEvent = (target, type, callback, options) => {
128
131
  * The current evt may not always set ( eg calling advanceSelection() )
129
132
  *
130
133
  */
131
-
132
- const isKeyDown = (key_name, evt) => {
133
- if (!evt) {
134
- return false;
135
- }
136
-
137
- if (!evt[key_name]) {
134
+ export const isKeyDown = (key_name, evt) => {
135
+ if (!evt) {
136
+ return false;
137
+ }
138
+ if (!evt[key_name]) {
139
+ return false;
140
+ }
141
+ var count = (evt.altKey ? 1 : 0) + (evt.ctrlKey ? 1 : 0) + (evt.shiftKey ? 1 : 0) + (evt.metaKey ? 1 : 0);
142
+ if (count === 1) {
143
+ return true;
144
+ }
138
145
  return false;
139
- }
140
-
141
- var count = (evt.altKey ? 1 : 0) + (evt.ctrlKey ? 1 : 0) + (evt.shiftKey ? 1 : 0) + (evt.metaKey ? 1 : 0);
142
-
143
- if (count === 1) {
144
- return true;
145
- }
146
-
147
- return false;
148
146
  };
149
147
  /**
150
148
  * Get the id of an element
151
149
  * If the id attribute is not set, set the attribute with the given id
152
150
  *
153
151
  */
154
-
155
- const getId = (el, id) => {
156
- const existing_id = el.getAttribute('id');
157
-
158
- if (existing_id) {
159
- return existing_id;
160
- }
161
-
162
- el.setAttribute('id', id);
163
- return id;
152
+ export const getId = (el, id) => {
153
+ const existing_id = el.getAttribute('id');
154
+ if (existing_id) {
155
+ return existing_id;
156
+ }
157
+ el.setAttribute('id', id);
158
+ return id;
164
159
  };
165
160
  /**
166
161
  * Returns a string with backslashes added before characters that need to be escaped.
167
162
  */
168
-
169
- const addSlashes = str => {
170
- return str.replace(/[\\"']/g, '\\$&');
163
+ export const addSlashes = (str) => {
164
+ return str.replace(/[\\"']/g, '\\$&');
171
165
  };
172
166
  /**
173
167
  *
174
168
  */
175
-
176
- const append = (parent, node) => {
177
- if (node) parent.append(node);
169
+ export const append = (parent, node) => {
170
+ if (node)
171
+ parent.append(node);
172
+ };
173
+ /**
174
+ * Iterates over arrays and hashes.
175
+ *
176
+ * ```
177
+ * iterate(this.items, function(item, id) {
178
+ * // invoked for each item
179
+ * });
180
+ * ```
181
+ *
182
+ */
183
+ export const iterate = (object, callback) => {
184
+ if (Array.isArray(object)) {
185
+ object.forEach(callback);
186
+ }
187
+ else {
188
+ for (var key in object) {
189
+ if (object.hasOwnProperty(key)) {
190
+ callback(object[key], key);
191
+ }
192
+ }
193
+ }
178
194
  };
179
-
180
- export { addEvent, addSlashes, append, debounce_events, escape_html, getId, getSelection, get_hash, hash_key, isKeyDown, loadDebounce, preventDefault };
181
- //# sourceMappingURL=utils.js.map
195
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["\nimport TomSelect from './tom-select';\nimport { TomLoadCallback } from './types/index';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n"],"names":["hash_key","value","get_hash","escape_html","str","replace","loadDebounce","fn","delay","timeout","callback","self","loading","Math","max","clearTimeout","setTimeout","loadedSearches","call","debounce_events","types","type","trigger","event_args","arguments","indexOf","apply","getSelection","input","start","selectionStart","length","selectionEnd","preventDefault","evt","stop","stopPropagation","addEvent","target","options","addEventListener","isKeyDown","key_name","count","altKey","ctrlKey","shiftKey","metaKey","getId","el","id","existing_id","getAttribute","setAttribute","addSlashes","append","parent","node"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}