tom-select-rails 2.2.2 → 2.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tom-select-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/tom-select-rails/cjs/constants.d.ts +12 -0
  4. data/vendor/assets/javascripts/tom-select-rails/cjs/constants.js +16 -0
  5. data/vendor/assets/javascripts/tom-select-rails/cjs/constants.js.map +1 -0
  6. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.d.ts +13 -0
  7. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.js +69 -0
  8. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.js.map +1 -0
  9. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.d.ts +20 -0
  10. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.js +64 -0
  11. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.js.map +1 -0
  12. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.d.ts +71 -0
  13. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.js +112 -0
  14. data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.js.map +1 -0
  15. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.d.ts +52 -0
  16. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js +84 -0
  17. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js.map +1 -0
  18. data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.d.ts +3 -0
  19. data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.js +146 -0
  20. data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.js.map +1 -0
  21. data/vendor/assets/javascripts/tom-select-rails/cjs/package.json +1 -0
  22. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.d.ts +16 -0
  23. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.js +66 -0
  24. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.js.map +1 -0
  25. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.d.ts +16 -0
  26. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.js +25 -0
  27. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.js.map +1 -0
  28. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.d.ts +17 -0
  29. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.js +108 -0
  30. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.js.map +1 -0
  31. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.d.ts +14 -0
  32. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.js +3 -0
  33. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.js.map +1 -0
  34. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.d.ts +17 -0
  35. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js +44 -0
  36. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js.map +1 -0
  37. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.d.ts +5 -0
  38. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.js +3 -0
  39. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.js.map +1 -0
  40. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.d.ts +16 -0
  41. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.js +117 -0
  42. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.js.map +1 -0
  43. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.d.ts +17 -0
  44. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.js +50 -0
  45. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.js.map +1 -0
  46. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.d.ts +8 -0
  47. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.js +3 -0
  48. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.js.map +1 -0
  49. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.d.ts +16 -0
  50. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js +77 -0
  51. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js.map +1 -0
  52. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.d.ts +15 -0
  53. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.js +47 -0
  54. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.js.map +1 -0
  55. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.d.ts +15 -0
  56. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.js +22 -0
  57. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.js.map +1 -0
  58. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.d.ts +15 -0
  59. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.js +28 -0
  60. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.js.map +1 -0
  61. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.d.ts +16 -0
  62. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.js +51 -0
  63. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.js.map +1 -0
  64. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.d.ts +17 -0
  65. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.js +61 -0
  66. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.js.map +1 -0
  67. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.d.ts +6 -0
  68. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.js +3 -0
  69. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.js.map +1 -0
  70. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.d.ts +21 -0
  71. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.js +24 -0
  72. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.js.map +1 -0
  73. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.d.ts +16 -0
  74. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.js +170 -0
  75. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.js.map +1 -0
  76. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.d.ts +2 -0
  77. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.js +33 -5497
  78. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.js.map +1 -1
  79. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.d.ts +594 -0
  80. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js +2147 -4555
  81. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js.map +1 -1
  82. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.d.ts +2 -0
  83. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.js +15 -4934
  84. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.js.map +1 -1
  85. data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.d.ts +49 -0
  86. data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.js +3 -0
  87. data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.js.map +1 -0
  88. data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.d.ts +2 -0
  89. data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.js +19 -0
  90. data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.js.map +1 -0
  91. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.d.ts +79 -0
  92. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.js +3 -0
  93. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.js.map +1 -0
  94. data/vendor/assets/javascripts/tom-select-rails/cjs/utils.d.ts +95 -0
  95. data/vendor/assets/javascripts/tom-select-rails/cjs/utils.js +130 -114
  96. data/vendor/assets/javascripts/tom-select-rails/cjs/utils.js.map +1 -1
  97. data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.d.ts +76 -0
  98. data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.js +190 -0
  99. data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.js.map +1 -0
  100. data/vendor/assets/javascripts/tom-select-rails/esm/constants.d.ts +12 -0
  101. data/vendor/assets/javascripts/tom-select-rails/esm/constants.js +13 -0
  102. data/vendor/assets/javascripts/tom-select-rails/esm/constants.js.map +1 -0
  103. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.d.ts +13 -0
  104. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.js +64 -0
  105. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.js.map +1 -0
  106. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.d.ts +20 -0
  107. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.js +61 -0
  108. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.js.map +1 -0
  109. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.d.ts +71 -0
  110. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.js +109 -0
  111. data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.js.map +1 -0
  112. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.d.ts +52 -0
  113. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js +82 -0
  114. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js.map +1 -0
  115. data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.d.ts +3 -0
  116. data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.js +143 -0
  117. data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.js.map +1 -0
  118. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.d.ts +16 -0
  119. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js +26 -78
  120. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js.map +1 -1
  121. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.d.ts +16 -0
  122. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js +3 -2
  123. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js.map +1 -1
  124. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.d.ts +17 -0
  125. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js +47 -96
  126. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js.map +1 -1
  127. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.d.ts +14 -0
  128. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.js +2 -0
  129. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.js.map +1 -0
  130. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.d.ts +17 -0
  131. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js +3 -75
  132. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js.map +1 -1
  133. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.d.ts +5 -0
  134. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.js +2 -0
  135. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.js.map +1 -0
  136. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.d.ts +16 -0
  137. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js +187 -29
  138. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js.map +1 -1
  139. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.d.ts +17 -0
  140. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js +27 -97
  141. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js.map +1 -1
  142. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.d.ts +8 -0
  143. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.js +2 -0
  144. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.js.map +1 -0
  145. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.d.ts +16 -0
  146. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js +46 -117
  147. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js.map +1 -1
  148. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.d.ts +15 -0
  149. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js +4 -6
  150. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js.map +1 -1
  151. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.d.ts +15 -0
  152. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js +2 -1
  153. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js.map +1 -1
  154. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.d.ts +15 -0
  155. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js +2 -2
  156. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js.map +1 -1
  157. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.d.ts +16 -0
  158. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js +3 -80
  159. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js.map +1 -1
  160. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.d.ts +17 -0
  161. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js +38 -104
  162. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js.map +1 -1
  163. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.d.ts +6 -0
  164. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.js +2 -0
  165. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.js.map +1 -0
  166. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.d.ts +21 -0
  167. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js +2 -3
  168. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js.map +1 -1
  169. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.d.ts +16 -0
  170. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js +56 -112
  171. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js.map +1 -1
  172. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.d.ts +2 -0
  173. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.js +17 -5481
  174. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.js.map +1 -1
  175. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.d.ts +594 -0
  176. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js +2127 -4536
  177. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js.map +1 -1
  178. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.d.ts +2 -0
  179. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.js +8 -4927
  180. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.js.map +1 -1
  181. data/vendor/assets/javascripts/tom-select-rails/esm/types/core.d.ts +49 -0
  182. data/vendor/assets/javascripts/tom-select-rails/esm/types/core.js +2 -0
  183. data/vendor/assets/javascripts/tom-select-rails/esm/types/core.js.map +1 -0
  184. data/vendor/assets/javascripts/tom-select-rails/esm/types/index.d.ts +2 -0
  185. data/vendor/assets/javascripts/tom-select-rails/esm/types/index.js +3 -0
  186. data/vendor/assets/javascripts/tom-select-rails/esm/types/index.js.map +1 -0
  187. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.d.ts +79 -0
  188. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.js +2 -0
  189. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.js.map +1 -0
  190. data/vendor/assets/javascripts/tom-select-rails/esm/utils.d.ts +95 -0
  191. data/vendor/assets/javascripts/tom-select-rails/esm/utils.js +121 -107
  192. data/vendor/assets/javascripts/tom-select-rails/esm/utils.js.map +1 -1
  193. data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.d.ts +76 -0
  194. data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.js +172 -0
  195. data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.js.map +1 -0
  196. data/vendor/assets/javascripts/tom-select-rails/js/package.json +1 -0
  197. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js +161 -213
  198. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js.map +1 -1
  199. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js +3 -2
  200. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js.map +1 -1
  201. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js +47 -96
  202. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js.map +1 -1
  203. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js +71 -143
  204. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js.map +1 -1
  205. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js +187 -29
  206. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js.map +1 -1
  207. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js +100 -170
  208. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js.map +1 -1
  209. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js +212 -283
  210. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js.map +1 -1
  211. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js +4 -6
  212. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js.map +1 -1
  213. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js +2 -1
  214. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js.map +1 -1
  215. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js +2 -2
  216. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js.map +1 -1
  217. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js +84 -161
  218. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js.map +1 -1
  219. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js +132 -198
  220. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js.map +1 -1
  221. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js +2 -3
  222. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js.map +1 -1
  223. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js +270 -326
  224. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js.map +1 -1
  225. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js +1367 -1918
  226. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js.map +1 -1
  227. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js +186 -173
  228. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js.map +1 -1
  229. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js +1400 -1883
  230. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js.map +1 -1
  231. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js +366 -343
  232. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js.map +1 -1
  233. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js +1369 -1915
  234. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js.map +1 -1
  235. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js +339 -326
  236. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js.map +1 -1
  237. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microevent.d.ts +1 -1
  238. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microplugin.d.ts +4 -4
  239. data/vendor/assets/javascripts/tom-select-rails/types/defaults.d.ts +1 -0
  240. data/vendor/assets/javascripts/tom-select-rails/types/getSettings.d.ts +2 -2
  241. data/vendor/assets/javascripts/tom-select-rails/types/plugins/caret_position/plugin.d.ts +1 -1
  242. data/vendor/assets/javascripts/tom-select-rails/types/plugins/change_listener/plugin.d.ts +1 -1
  243. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/plugin.d.ts +4 -3
  244. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/types.d.ts +14 -0
  245. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/plugin.d.ts +2 -2
  246. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/types.d.ts +1 -1
  247. data/vendor/assets/javascripts/tom-select-rails/types/plugins/drag_drop/plugin.d.ts +1 -1
  248. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/plugin.d.ts +2 -2
  249. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/types.d.ts +1 -1
  250. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_input/plugin.d.ts +1 -1
  251. data/vendor/assets/javascripts/tom-select-rails/types/plugins/input_autogrow/plugin.d.ts +1 -1
  252. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_active_items/plugin.d.ts +1 -1
  253. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_backspace_delete/plugin.d.ts +1 -1
  254. data/vendor/assets/javascripts/tom-select-rails/types/plugins/optgroup_columns/plugin.d.ts +1 -1
  255. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/plugin.d.ts +2 -2
  256. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/types.d.ts +1 -1
  257. data/vendor/assets/javascripts/tom-select-rails/types/plugins/restore_on_backspace/plugin.d.ts +3 -3
  258. data/vendor/assets/javascripts/tom-select-rails/types/plugins/virtual_scroll/plugin.d.ts +1 -1
  259. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.complete.d.ts +1 -1
  260. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.d.ts +12 -14
  261. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.popular.d.ts +1 -1
  262. data/vendor/assets/javascripts/tom-select-rails/types/types/core.d.ts +17 -16
  263. data/vendor/assets/javascripts/tom-select-rails/types/types/index.d.ts +2 -2
  264. data/vendor/assets/javascripts/tom-select-rails/types/types/settings.d.ts +6 -5
  265. data/vendor/assets/javascripts/tom-select-rails/types/utils.d.ts +21 -2
  266. data/vendor/assets/javascripts/tom-select-rails/types/vanilla.d.ts +1 -1
  267. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css +227 -219
  268. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css.map +1 -1
  269. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css +1 -1
  270. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css.map +1 -1
  271. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css +247 -254
  272. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css.map +1 -1
  273. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css +1 -1
  274. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css.map +1 -1
  275. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css +213 -210
  276. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css.map +1 -1
  277. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css +223 -215
  278. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css.map +1 -1
  279. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css +1 -1
  280. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css.map +1 -1
  281. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css +1 -1
  282. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css.map +1 -1
  283. data/vendor/assets/stylesheets/tom-select-rails/scss/_dropdown.scss +7 -10
  284. data/vendor/assets/stylesheets/tom-select-rails/scss/_items.scss +7 -9
  285. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/checkbox_options.scss +8 -2
  286. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/clear_button.scss +16 -14
  287. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/drag_drop.scss +6 -12
  288. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/dropdown_header.scss +3 -2
  289. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/dropdown_input.scss +7 -11
  290. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/input_autogrow.scss +0 -3
  291. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/optgroup_columns.scss +7 -5
  292. data/vendor/assets/stylesheets/tom-select-rails/scss/plugins/remove_button.scss +20 -20
  293. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.bootstrap4.scss +33 -39
  294. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.bootstrap5.scss +54 -80
  295. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.default.scss +16 -14
  296. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.scss +52 -57
  297. metadata +154 -7
@@ -0,0 +1,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":";;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaA,MAAAA,QAAQ,GAAIC,KAAD,IAA4D;AACnF,EAAI,IAAA,OAAOA,KAAP,KAAiB,WAAjB,IAAgCA,KAAK,KAAK,IAA9C,EAAoD,OAAO,IAAP,CAAA;AACpD,EAAOC,OAAAA,QAAQ,CAACD,KAAD,CAAf,CAAA;AACA,EAHM;AAKMC,MAAAA,QAAQ,GAAID,KAAD,IAAwC;AAC/D,EAAI,IAAA,OAAOA,KAAP,KAAiB,SAArB,EAAgC,OAAOA,KAAK,GAAG,GAAH,GAAS,GAArB,CAAA;AAChC,EAAOA,OAAAA,KAAK,GAAG,EAAf,CAAA;AACA,EAHM;AAKP;AACA;AACA;AACA;;AACaE,MAAAA,WAAW,GAAIC,GAAD,IAAuB;AACjD,EAAA,OAAO,CAACA,GAAG,GAAG,EAAP,EACLC,OADK,CACG,IADH,EACS,OADT,CAELA,CAAAA,OAFK,CAEG,IAFH,EAES,MAFT,CAGLA,CAAAA,OAHK,CAGG,IAHH,EAGS,MAHT,CAILA,CAAAA,OAJK,CAIG,IAJH,EAIS,QAJT,CAAP,CAAA;AAKA,EANM;AASP;AACA;AACA;AACA;;MACaC,YAAY,GAAG,CAACC,EAAD,EAAoDC,KAApD,KAAqE;AAChG,EAAA,IAAIC,OAAJ,CAAA;AACA,EAAA,OAAO,UAAyBR,KAAzB,EAAsCS,QAAtC,EAAgE;AACtE,IAAIC,IAAAA,IAAI,GAAG,IAAX,CAAA;;AAEA,IAAA,IAAIF,OAAJ,EAAa;AACZE,MAAAA,IAAI,CAACC,OAAL,GAAeC,IAAI,CAACC,GAAL,CAASH,IAAI,CAACC,OAAL,GAAe,CAAxB,EAA2B,CAA3B,CAAf,CAAA;AACAG,MAAAA,YAAY,CAACN,OAAD,CAAZ,CAAA;AACA,KAAA;;AACDA,IAAAA,OAAO,GAAGO,UAAU,CAAC,YAAW;AAC/BP,MAAAA,OAAO,GAAG,IAAV,CAAA;AACAE,MAAAA,IAAI,CAACM,cAAL,CAAoBhB,KAApB,IAA6B,IAA7B,CAAA;AACAM,MAAAA,EAAE,CAACW,IAAH,CAAQP,IAAR,EAAcV,KAAd,EAAqBS,QAArB,CAAA,CAAA;AAEA,KALmB,EAKjBF,KALiB,CAApB,CAAA;AAMA,GAbD,CAAA;AAcA,EAhBM;AAmBP;AACA;AACA;AACA;AACA;;AACO,MAAMW,eAAe,GAAG,CAAER,IAAF,EAAkBS,KAAlB,EAAkCb,EAAlC,KAAqD;AACnF,EAAA,IAAIc,IAAJ,CAAA;AACA,EAAA,IAAIC,OAAO,GAAGX,IAAI,CAACW,OAAnB,CAAA;AACA,EAAA,IAAIC,UAAiC,GAAG,EAAxC,CAHmF;;AAMnFZ,EAAAA,IAAI,CAACW,OAAL,GAAe,YAAU;AACxB,IAAA,IAAID,IAAI,GAAGG,SAAS,CAAC,CAAD,CAApB,CAAA;;AACA,IAAIJ,IAAAA,KAAK,CAACK,OAAN,CAAcJ,IAAd,CAAwB,KAAA,CAAC,CAA7B,EAAgC;AAC/BE,MAAAA,UAAU,CAACF,IAAD,CAAV,GAAmBG,SAAnB,CAAA;AACA,KAFD,MAEO;AACN,MAAA,OAAOF,OAAO,CAACI,KAAR,CAAcf,IAAd,EAAoBa,SAApB,CAAP,CAAA;AACA,KAAA;AACD,GAPD,CANmF;;;AAgBnFjB,EAAAA,EAAE,CAACmB,KAAH,CAASf,IAAT,EAAe,EAAf,CAAA,CAAA;AACAA,EAAAA,IAAI,CAACW,OAAL,GAAeA,OAAf,CAjBmF;;AAoBnF,EAAKD,KAAAA,IAAL,IAAaD,KAAb,EAAoB;AACnB,IAAIC,IAAAA,IAAI,IAAIE,UAAZ,EAAwB;AACvBD,MAAAA,OAAO,CAACI,KAAR,CAAcf,IAAd,EAAoBY,UAAU,CAACF,IAAD,CAA9B,CAAA,CAAA;AACA,KAAA;AACD,GAAA;AACD,EAzBM;AA4BP;AACA;AACA;AACA;AACA;AACA;AACA;;AACaM,MAAAA,YAAY,GAAIC,KAAD,IAA8D;AACzF,EAAO,OAAA;AACNC,IAAAA,KAAK,EAAGD,KAAK,CAACE,cAAN,IAAwB,CAD1B;AAENC,IAAAA,MAAM,EAAG,CAACH,KAAK,CAACI,YAAN,IAAoB,CAArB,KAA2BJ,KAAK,CAACE,cAAN,IAAsB,CAAjD,CAAA;AAFH,GAAP,CAAA;AAIA,EALM;AAQP;AACA;AACA;AACA;;AACO,MAAMG,cAAc,GAAG,CAACC,GAAD,EAAaC,IAAY,GAAC,KAA1B,KAAyC;AACtE,EAAA,IAAID,GAAJ,EAAS;AACRA,IAAAA,GAAG,CAACD,cAAJ,EAAA,CAAA;;AACA,IAAA,IAAIE,IAAJ,EAAU;AACTD,MAAAA,GAAG,CAACE,eAAJ,EAAA,CAAA;AACA,KAAA;AACD,GAAA;AACD,EAPM;AAUP;AACA;AACA;AACA;;AACO,MAAMC,QAAQ,GAAG,CAACC,MAAD,EAAqBjB,IAArB,EAAkCX,QAAlC,EAA+E6B,OAA/E,KAAwG;AAC/HD,EAAAA,MAAM,CAACE,gBAAP,CAAwBnB,IAAxB,EAA6BX,QAA7B,EAAsC6B,OAAtC,CAAA,CAAA;AACA,EAFM;AAKP;AACA;AACA;AACA;AACA;AACA;;MACaE,SAAS,GAAG,CAAEC,QAAF,EAA6CR,GAA7C,KAAgF;AAExG,EAAI,IAAA,CAACA,GAAL,EAAU;AACT,IAAA,OAAO,KAAP,CAAA;AACA,GAAA;;AAED,EAAA,IAAI,CAACA,GAAG,CAACQ,QAAD,CAAR,EAAoB;AACnB,IAAA,OAAO,KAAP,CAAA;AACA,GAAA;;AAED,EAAA,IAAIC,KAAK,GAAG,CAACT,GAAG,CAACU,MAAJ,GAAW,CAAX,GAAa,CAAd,KAAoBV,GAAG,CAACW,OAAJ,GAAY,CAAZ,GAAc,CAAlC,CAAA,IAAwCX,GAAG,CAACY,QAAJ,GAAa,CAAb,GAAe,CAAvD,CAA6DZ,IAAAA,GAAG,CAACa,OAAJ,GAAY,CAAZ,GAAc,CAA3E,CAAZ,CAAA;;AAEA,EAAIJ,IAAAA,KAAK,KAAK,CAAd,EAAiB;AAChB,IAAA,OAAO,IAAP,CAAA;AACA,GAAA;;AAED,EAAA,OAAO,KAAP,CAAA;AACA,EAjBM;AAoBP;AACA;AACA;AACA;AACA;;MACaK,KAAK,GAAG,CAACC,EAAD,EAAYC,EAAZ,KAA0B;AAC9C,EAAA,MAAMC,WAAW,GAAGF,EAAE,CAACG,YAAH,CAAgB,IAAhB,CAApB,CAAA;;AACA,EAAA,IAAID,WAAJ,EAAiB;AAChB,IAAA,OAAOA,WAAP,CAAA;AACA,GAAA;;AAEDF,EAAAA,EAAE,CAACI,YAAH,CAAgB,IAAhB,EAAqBH,EAArB,CAAA,CAAA;AACA,EAAA,OAAOA,EAAP,CAAA;AACA,EARM;AAWP;AACA;AACA;;AACaI,MAAAA,UAAU,GAAIlD,GAAD,IAAuB;AAChD,EAAA,OAAOA,GAAG,CAACC,OAAJ,CAAY,SAAZ,EAAuB,MAAvB,CAAP,CAAA;AACA,EAFM;AAIP;AACA;AACA;;MACakD,MAAM,GAAG,CAAEC,MAAF,EAAmCC,IAAnC,KAA6E;AAClG,EAAA,IAAIA,IAAJ,EAAWD,MAAM,CAACD,MAAP,CAAcE,IAAd,CAAA,CAAA;AACX;;;;"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}