tom-select-rails 2.4.3 → 2.5.1

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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/Rakefile +0 -2
  4. data/config/importmap.rb +2 -0
  5. data/lib/tom-select-rails/engine.rb +5 -2
  6. data/lib/tom-select-rails/version.rb +1 -3
  7. data/lib/tom-select-rails.rb +0 -2
  8. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.d.ts +1 -0
  9. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js +1 -0
  10. data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js.map +1 -1
  11. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js +4 -1
  12. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js.map +1 -1
  13. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.d.ts +2 -0
  14. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js +11 -0
  15. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js.map +1 -1
  16. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js +36 -12
  17. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js.map +1 -1
  18. data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.d.ts +2 -1
  19. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.d.ts +1 -0
  20. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js +1 -0
  21. data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js.map +1 -1
  22. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js +1 -1
  23. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js.map +1 -1
  24. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js +1 -1
  25. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js.map +1 -1
  26. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js +1 -1
  27. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js.map +1 -1
  28. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js +5 -2
  29. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js.map +1 -1
  30. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.d.ts +2 -0
  31. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js +1 -1
  32. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js.map +1 -1
  33. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js +1 -1
  34. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js.map +1 -1
  35. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js +11 -1
  36. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js.map +1 -1
  37. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js +1 -1
  38. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js.map +1 -1
  39. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js +1 -1
  40. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js.map +1 -1
  41. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js +1 -1
  42. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js.map +1 -1
  43. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js +1 -1
  44. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js.map +1 -1
  45. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js +1 -1
  46. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js.map +1 -1
  47. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js +1 -1
  48. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js.map +1 -1
  49. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js +1 -1
  50. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js.map +1 -1
  51. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js +36 -12
  52. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js.map +1 -1
  53. data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.d.ts +2 -1
  54. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js +1 -1
  55. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js.map +1 -1
  56. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js +1 -1
  57. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js.map +1 -1
  58. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js +1 -1
  59. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js.map +1 -1
  60. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js +5 -2
  61. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js.map +1 -1
  62. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js +1 -1
  63. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js.map +1 -1
  64. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js +1 -1
  65. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js.map +1 -1
  66. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js +11 -1
  67. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js.map +1 -1
  68. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js +1 -1
  69. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js.map +1 -1
  70. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js +1 -1
  71. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js.map +1 -1
  72. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js +1 -1
  73. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js.map +1 -1
  74. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js +1 -1
  75. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js.map +1 -1
  76. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js +1 -1
  77. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js.map +1 -1
  78. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js +1 -1
  79. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js.map +1 -1
  80. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js +1 -1
  81. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js.map +1 -1
  82. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js +38 -14
  83. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js.map +1 -1
  84. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js +97 -98
  85. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js.map +1 -1
  86. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js +52 -15
  87. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js.map +1 -1
  88. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js +143 -141
  89. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js.map +1 -1
  90. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js +48 -14
  91. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js.map +1 -1
  92. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js +119 -117
  93. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js.map +1 -1
  94. data/vendor/assets/javascripts/tom-select-rails/tom-select.esm.js +3 -0
  95. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css +16 -5
  96. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css.map +1 -1
  97. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css +1 -1
  98. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css.map +1 -1
  99. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css +25 -9
  100. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css.map +1 -1
  101. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css +1 -1
  102. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css.map +1 -1
  103. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css +8 -7
  104. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css.map +1 -1
  105. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css +5 -4
  106. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css.map +1 -1
  107. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css +1 -1
  108. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css.map +1 -1
  109. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css +1 -1
  110. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css.map +1 -1
  111. data/vendor/assets/stylesheets/tom-select-rails/scss/_items.scss +1 -0
  112. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.bootstrap4.scss +5 -0
  113. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.bootstrap5.scss +14 -2
  114. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.default.scss +1 -1
  115. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.scss +4 -4
  116. metadata +5 -35
  117. data/vendor/assets/javascripts/tom-select-rails/types/constants.d.ts +0 -12
  118. data/vendor/assets/javascripts/tom-select-rails/types/contrib/highlight.d.ts +0 -13
  119. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microevent.d.ts +0 -20
  120. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microplugin.d.ts +0 -71
  121. data/vendor/assets/javascripts/tom-select-rails/types/defaults.d.ts +0 -52
  122. data/vendor/assets/javascripts/tom-select-rails/types/getSettings.d.ts +0 -3
  123. data/vendor/assets/javascripts/tom-select-rails/types/plugins/caret_position/plugin.d.ts +0 -16
  124. data/vendor/assets/javascripts/tom-select-rails/types/plugins/change_listener/plugin.d.ts +0 -16
  125. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/plugin.d.ts +0 -17
  126. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/types.d.ts +0 -14
  127. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/plugin.d.ts +0 -17
  128. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/types.d.ts +0 -5
  129. data/vendor/assets/javascripts/tom-select-rails/types/plugins/drag_drop/plugin.d.ts +0 -16
  130. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/plugin.d.ts +0 -17
  131. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/types.d.ts +0 -8
  132. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_input/plugin.d.ts +0 -16
  133. data/vendor/assets/javascripts/tom-select-rails/types/plugins/input_autogrow/plugin.d.ts +0 -15
  134. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_active_items/plugin.d.ts +0 -15
  135. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_backspace_delete/plugin.d.ts +0 -15
  136. data/vendor/assets/javascripts/tom-select-rails/types/plugins/optgroup_columns/plugin.d.ts +0 -16
  137. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/plugin.d.ts +0 -17
  138. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/types.d.ts +0 -6
  139. data/vendor/assets/javascripts/tom-select-rails/types/plugins/restore_on_backspace/plugin.d.ts +0 -21
  140. data/vendor/assets/javascripts/tom-select-rails/types/plugins/virtual_scroll/plugin.d.ts +0 -16
  141. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.complete.d.ts +0 -2
  142. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.d.ts +0 -594
  143. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.popular.d.ts +0 -2
  144. data/vendor/assets/javascripts/tom-select-rails/types/types/core.d.ts +0 -49
  145. data/vendor/assets/javascripts/tom-select-rails/types/types/index.d.ts +0 -2
  146. data/vendor/assets/javascripts/tom-select-rails/types/types/settings.d.ts +0 -79
  147. data/vendor/assets/javascripts/tom-select-rails/types/utils.d.ts +0 -95
  148. data/vendor/assets/javascripts/tom-select-rails/types/vanilla.d.ts +0 -76
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0737c9face5ed68b77b0297988ca794e4c02a080dd6b4a9621b55893b629ace8
4
- data.tar.gz: a70b0bf29036d0e8fbf01b5a2855dbedd781d964b5af1102a93e2fa45d87a215
3
+ metadata.gz: 592991077013dbd9152036199fedccd9ab899e3eafdf1b494bd4a7d2c2a01b92
4
+ data.tar.gz: d903b34f07939f503b969c35b095c7ee01047bb62ba5bfcd0d26516d24ad8810
5
5
  SHA512:
6
- metadata.gz: 3896e44fff3b1888de920d1ee8ab5ed6d0c434a8c413d298db81384aec9c7cc74b3f4be2945d023a1db8973ae9121fb1331d6722955f7bea5c37ce954cb80d51
7
- data.tar.gz: e3d9f3ee6d0bde326bfdb19c61a01fef4430b67a961c8e078d98d166fe4154f44f5e2fbf8d55eedaf89b47bed96a3eb0678c488dd1fd14bed864e180e08a9382
6
+ metadata.gz: 84cc37b20e0be3e1507157f4c7638cad80b2938f22446ac2a042d24bd716ef56010bfa597bb5524d44b3f5fbedad7e97c691abe8111cee8fb779624a868c2053
7
+ data.tar.gz: 445703b862adf31e12b569a3db0d9eb4b7b6049aa721f7f7ef3359d4fe3015c6c6a7f1576cb9f3c3ec843b2351eea9310766b32e84432360b5886e8ee25c7dc2
data/README.md CHANGED
@@ -12,12 +12,14 @@ $ bundle add tom-select-rails
12
12
 
13
13
  ## Usage
14
14
 
15
- Import Tom Select styles in your Sass manifest:
16
-
17
15
  ```scss
18
16
  @import "tom-select-rails/scss/tom-select";
19
17
  ```
20
18
 
19
+ ```js
20
+ import TomSelect from "tom-select";
21
+ ```
22
+
21
23
  ## License
22
24
 
23
25
  The gem is available as open source under the terms of the [MIT License][mit].
data/Rakefile CHANGED
@@ -1,3 +1 @@
1
- # frozen_string_literal: true
2
-
3
1
  require "bundler/gem_tasks"
@@ -0,0 +1,2 @@
1
+ pin "tom-select-umd", to: "tom-select-rails/js/tom-select.complete.js", preload: false
2
+ pin "tom-select", to: "tom-select-rails/tom-select.esm.js"
@@ -1,8 +1,11 @@
1
- # frozen_string_literal: true
2
-
3
1
  require "rails"
4
2
 
5
3
  module TomSelect
6
4
  class Engine < ::Rails::Engine
5
+ initializer "tom-select-rails.importmap", before: "importmap" do |app|
6
+ if Rails.application.config.respond_to?(:importmap)
7
+ app.config.importmap.paths << Engine.root.join("config/importmap.rb")
8
+ end
9
+ end
7
10
  end
8
11
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module TomSelect
4
- VERSION = "2.4.3"
2
+ VERSION = "2.5.1"
5
3
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require_relative "tom-select-rails/version"
4
2
  require_relative "tom-select-rails/engine"
5
3
 
@@ -9,6 +9,7 @@ declare const _default: {
9
9
  create: null;
10
10
  createOnBlur: boolean;
11
11
  createFilter: null;
12
+ clearAfterSelect: boolean;
12
13
  highlight: boolean;
13
14
  openOnFocus: boolean;
14
15
  shouldOpen: null;
@@ -11,6 +11,7 @@ exports.default = {
11
11
  create: null,
12
12
  createOnBlur: false,
13
13
  createFilter: null,
14
+ clearAfterSelect: false,
14
15
  highlight: true,
15
16
  openOnFocus: true,
16
17
  shouldOpen: null,
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":";;AACA,kBAAe;IACd,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IAEb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,IAAI,EAAE,gEAAgE;IAC/E,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,KAAK;IACvB,0BAA0B;IAC1B,eAAe,EAAE,GAAG;IAGpB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,SAAS;IAEvB,QAAQ,EAAE,IAAI,EAAE,cAAc;IAC9B,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,KAAK;IAExB,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,CAAC,MAAM,CAAC;IACrB,iBAAiB,EAAE,KAAK;IAExB,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,oBAAoB,EAAE,qBAAqB;IAC3C,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,QAAQ;IAErB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,mDAAmD;IAEjE,qBAAqB,EAAE,KAAK;IAE5B,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IAErB,UAAU,EAAE,UAAS,KAAY;QAChC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;MAkBE;IAEF,MAAM,EAAE;IACP;;;;;;MAME;KACF;CACD,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":";;AACA,kBAAe;IACd,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IAEb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,IAAI,EAAE,gEAAgE;IAC/E,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,KAAK;IACvB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,KAAK;IACvB,0BAA0B;IAC1B,eAAe,EAAE,GAAG;IAGpB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,SAAS;IAEvB,QAAQ,EAAE,IAAI,EAAE,cAAc;IAC9B,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,KAAK;IAExB,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,CAAC,MAAM,CAAC;IACrB,iBAAiB,EAAE,KAAK;IAExB,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,oBAAoB,EAAE,qBAAqB;IAC3C,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,QAAQ;IAErB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,mDAAmD;IAEjE,qBAAqB,EAAE,KAAK;IAE5B,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IAErB,UAAU,EAAE,UAAS,KAAY;QAChC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;MAkBE;IAEF,MAAM,EAAE;IACP;;;;;;MAME;KACF;CACD,CAAC"}
@@ -21,8 +21,10 @@ function default_1(userOptions) {
21
21
  const options = Object.assign({
22
22
  className: 'clear-button',
23
23
  title: 'Clear All',
24
+ role: 'button',
25
+ tabindex: 0,
24
26
  html: (data) => {
25
- return `<div class="${data.className}" title="${data.title}">&#10799;</div>`;
27
+ return `<div class="${data.className}" title="${data.title}" role="${data.role}" tabindex="${data.tabindex}">&times;</div>`;
26
28
  }
27
29
  }, userOptions);
28
30
  self.on('initialize', () => {
@@ -34,6 +36,7 @@ function default_1(userOptions) {
34
36
  if (self.settings.mode === 'single' && self.settings.allowEmptyOption) {
35
37
  self.addItem('');
36
38
  }
39
+ self.refreshOptions(false);
37
40
  evt.preventDefault();
38
41
  evt.stopPropagation();
39
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/clear_button/plugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAMH,4BA6BC;AAhCD,iDAA0C;AAG1C,mBAAwC,WAAqB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;IAElB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,CAAC,IAAc,EAAE,EAAE;YACxB,OAAO,eAAe,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,KAAK,kBAAkB,CAAC;QAC9E,CAAC;KACD,EAAE,WAAW,CAAC,CAAC;IAEhB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAC,GAAE,EAAE;QACxB,IAAI,MAAM,GAAG,IAAA,mBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,GAAG,EAAC,EAAE;YAEtC,IAAI,IAAI,CAAC,QAAQ;gBAAG,OAAO;YAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBACvE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AAEJ,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/clear_button/plugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAMH,4BAkCC;AArCD,iDAA0C;AAG1C,mBAAwC,WAAqB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;IAElB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,CAAC,IAAc,EAAE,EAAE;YAEzB,OAAO,eAAe,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,QAAQ,iBAAiB,CAAC;QAC5H,CAAC;KACD,EAAE,WAAW,CAAC,CAAC;IAEhB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAC,GAAE,EAAE;QACxB,IAAI,MAAM,GAAG,IAAA,mBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,GAAG,EAAC,EAAE;YAEtC,IAAI,IAAI,CAAC,QAAQ;gBAAG,OAAO;YAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBACvE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAE3B,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AAEJ,CAAC;AAAA,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export type CBOptions = {
2
2
  className?: string;
3
3
  title?: string;
4
+ role?: string;
5
+ tabindex?: number;
4
6
  html?: (data: CBOptions) => string;
5
7
  };
@@ -22,6 +22,7 @@ function default_1() {
22
22
  const self = this;
23
23
  self.settings.shouldOpen = true; // make sure the input is shown even if there are no options to display in the dropdown
24
24
  self.hook('before', 'setup', () => {
25
+ var _a;
25
26
  self.focus_node = self.control;
26
27
  (0, vanilla_ts_1.addClasses)(self.control_input, 'dropdown-input');
27
28
  const div = (0, vanilla_ts_1.getDom)('<div class="dropdown-input-wrap">');
@@ -31,6 +32,16 @@ function default_1() {
31
32
  const placeholder = (0, vanilla_ts_1.getDom)('<input class="items-placeholder" tabindex="-1" />');
32
33
  placeholder.placeholder = self.settings.placeholder || '';
33
34
  self.control.append(placeholder);
35
+ /**
36
+ * TomSelect renders a custom control with a focusable <input class="items-placeholder">.
37
+ * The source <select>'s aria-label is not automatically propagated to that input,
38
+ * which triggers "Missing form label" accessibility warnings.
39
+ * This helper copies the label from the <select> onto the generated input.
40
+ */
41
+ const label = (_a = self.input) === null || _a === void 0 ? void 0 : _a.getAttribute('aria-label');
42
+ if (!label)
43
+ return;
44
+ placeholder.setAttribute('aria-label', label);
34
45
  });
35
46
  self.on('initialize', () => {
36
47
  // set tabIndex on control to -1, otherwise [shift+tab] will put focus right back on control_input
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/dropdown_input/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/dropdown_input/plugin.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
106
106
  if ((0, vanilla_ts_1.isHtmlString)(settings.controlInput)) {
107
107
  control_input = (0, vanilla_ts_1.getDom)(settings.controlInput);
108
108
  // set attributes
109
- var attrs = ['autocorrect', 'autocapitalize', 'autocomplete', 'spellcheck'];
109
+ var attrs = ['autocorrect', 'autocapitalize', 'autocomplete', 'spellcheck', 'aria-label'];
110
110
  (0, utils_ts_1.iterate)(attrs, (attr) => {
111
111
  if (input.getAttribute(attr)) {
112
112
  (0, vanilla_ts_1.setAttr)(control_input, { [attr]: input.getAttribute(attr) });
@@ -169,6 +169,8 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
169
169
  (0, vanilla_ts_1.setAttr)(dropdown_content, { 'aria-labelledby': label_id });
170
170
  }
171
171
  wrapper.style.width = input.style.width;
172
+ wrapper.style.minWidth = input.style.minWidth;
173
+ wrapper.style.maxWidth = input.style.maxWidth;
172
174
  if (self.plugins.names.length) {
173
175
  const classes_plugins = 'plugin-' + self.plugins.names.join(' plugin-');
174
176
  (0, vanilla_ts_1.addClasses)([wrapper, dropdown], classes_plugins);
@@ -253,10 +255,19 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
253
255
  self.positionDropdown();
254
256
  }
255
257
  };
258
+ const input_invalid = () => {
259
+ if (self.isValid) {
260
+ self.isValid = false;
261
+ self.isInvalid = true;
262
+ self.refreshState();
263
+ }
264
+ };
265
+ (0, utils_ts_1.addEvent)(input, 'invalid', input_invalid);
256
266
  (0, utils_ts_1.addEvent)(document, 'mousedown', doc_mousedown);
257
267
  (0, utils_ts_1.addEvent)(window, 'scroll', win_scroll, passive_event);
258
268
  (0, utils_ts_1.addEvent)(window, 'resize', win_scroll, passive_event);
259
269
  this._destroy = () => {
270
+ input.removeEventListener('invalid', input_invalid);
260
271
  document.removeEventListener('mousedown', doc_mousedown);
261
272
  window.removeEventListener('scroll', win_scroll);
262
273
  window.removeEventListener('resize', win_scroll);
@@ -275,14 +286,6 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
275
286
  settings.items = [];
276
287
  delete settings.optgroups;
277
288
  delete settings.options;
278
- (0, utils_ts_1.addEvent)(input, 'invalid', () => {
279
- if (self.isValid) {
280
- self.isValid = false;
281
- self.isInvalid = true;
282
- self.refreshState();
283
- }
284
- });
285
- self.updateOriginalInput();
286
289
  self.refreshItems();
287
290
  self.close(false);
288
291
  self.inputState();
@@ -393,7 +396,7 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
393
396
  */
394
397
  sync(get_settings = true) {
395
398
  const self = this;
396
- const settings = get_settings ? (0, getSettings_ts_1.default)(self.input, { delimiter: self.settings.delimiter }) : self.settings;
399
+ const settings = get_settings ? (0, getSettings_ts_1.default)(self.input, { delimiter: self.settings.delimiter, allowEmptyOption: self.settings.allowEmptyOption }) : self.settings;
397
400
  self.setupOptions(settings.options, settings.optgroups);
398
401
  self.setValue(settings.items || [], true); // silent prevents recursion
399
402
  self.lastQuery = null; // so updated options will be displayed in dropdown
@@ -568,7 +571,7 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
568
571
  // if select isFull, then the dropdown won't be open and [tab] will work normally
569
572
  (0, utils_ts_1.preventDefault)(e);
570
573
  }
571
- if (self.settings.create && self.createItem()) {
574
+ else if (self.settings.create && self.createItem()) {
572
575
  (0, utils_ts_1.preventDefault)(e);
573
576
  }
574
577
  }
@@ -692,6 +695,9 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
692
695
  if (self.settings.closeAfterSelect) {
693
696
  self.close();
694
697
  }
698
+ else if (self.settings.clearAfterSelect) {
699
+ self.setTextboxValue();
700
+ }
695
701
  });
696
702
  }
697
703
  else {
@@ -702,6 +708,9 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
702
708
  if (self.settings.closeAfterSelect) {
703
709
  self.close();
704
710
  }
711
+ else if (self.settings.clearAfterSelect) {
712
+ self.setTextboxValue();
713
+ }
705
714
  if (!self.settings.hideSelected && evt.type && /click/.test(evt.type)) {
706
715
  self.setActiveOption(option);
707
716
  }
@@ -1108,6 +1117,11 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
1108
1117
  // perform search
1109
1118
  if (query !== self.lastQuery) {
1110
1119
  self.lastQuery = query;
1120
+ // temp fix for https://github.com/orchidjs/tom-select/issues/987
1121
+ // UI crashed when more than 30 same chars in a row, prevent search and return empt result
1122
+ if (/(.)\1{15,}/.test(query)) {
1123
+ query = '';
1124
+ }
1111
1125
  result = self.sifter.search(query, Object.assign(options, { score: calculateScore }));
1112
1126
  self.currentResults = result;
1113
1127
  }
@@ -1635,6 +1649,10 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
1635
1649
  else if (!self.isPending) {
1636
1650
  self.positionDropdown();
1637
1651
  }
1652
+ //remove input value when enabled
1653
+ if (self.settings.clearAfterSelect) {
1654
+ self.setTextboxValue();
1655
+ }
1638
1656
  self.trigger('item_add', hashed, item);
1639
1657
  if (!self.isPending) {
1640
1658
  self.updateOriginalInput({ silent: silent });
@@ -1700,6 +1718,12 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
1700
1718
  var output;
1701
1719
  input = input || self.inputValue();
1702
1720
  if (!self.canCreate(input)) {
1721
+ const hash = (0, utils_ts_1.hash_key)(input);
1722
+ if (hash) {
1723
+ if (this.options[input]) {
1724
+ self.addItem(input);
1725
+ }
1726
+ }
1703
1727
  callback();
1704
1728
  return false;
1705
1729
  }
@@ -1998,7 +2022,7 @@ class TomSelect extends (0, microplugin_ts_1.default)(microevent_ts_1.default) {
1998
2022
  shouldDelete(items, evt) {
1999
2023
  const values = items.map(item => item.dataset.value);
2000
2024
  // allow the callback to abort
2001
- if (!values.length || (typeof this.settings.onDelete === 'function' && this.settings.onDelete(values, evt) === false)) {
2025
+ if (!values.length || (typeof this.settings.onDelete === 'function' && this.settings.onDelete.call(this, values, evt) === false)) {
2002
2026
  return false;
2003
2027
  }
2004
2028
  return true;