@drecchia/tom-select 2.5.2-virtual-scroll.0 → 2.5.2-virtual-scroll.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 (248) hide show
  1. package/dist/cjs/constants.js +16 -0
  2. package/dist/cjs/constants.js.map +1 -0
  3. package/dist/cjs/contrib/highlight.js +69 -0
  4. package/dist/cjs/contrib/highlight.js.map +1 -0
  5. package/dist/cjs/contrib/microevent.js +64 -0
  6. package/dist/cjs/contrib/microevent.js.map +1 -0
  7. package/dist/cjs/contrib/microplugin.js +112 -0
  8. package/dist/cjs/contrib/microplugin.js.map +1 -0
  9. package/dist/cjs/defaults.js +85 -0
  10. package/dist/cjs/defaults.js.map +1 -0
  11. package/dist/cjs/getSettings.js +146 -0
  12. package/dist/cjs/getSettings.js.map +1 -0
  13. package/dist/cjs/package.json +1 -0
  14. package/dist/cjs/plugins/caret_position/plugin.js +66 -0
  15. package/dist/cjs/plugins/caret_position/plugin.js.map +1 -0
  16. package/dist/cjs/plugins/change_listener/plugin.js +25 -0
  17. package/dist/cjs/plugins/change_listener/plugin.js.map +1 -0
  18. package/dist/cjs/plugins/checkbox_options/plugin.js +108 -0
  19. package/dist/cjs/plugins/checkbox_options/plugin.js.map +1 -0
  20. package/dist/cjs/plugins/checkbox_options/types.js +3 -0
  21. package/dist/cjs/plugins/checkbox_options/types.js.map +1 -0
  22. package/dist/cjs/plugins/clear_button/plugin.js +47 -0
  23. package/dist/cjs/plugins/clear_button/plugin.js.map +1 -0
  24. package/dist/cjs/plugins/clear_button/types.js +3 -0
  25. package/dist/cjs/plugins/clear_button/types.js.map +1 -0
  26. package/dist/cjs/plugins/drag_drop/plugin.js +117 -0
  27. package/dist/cjs/plugins/drag_drop/plugin.js.map +1 -0
  28. package/dist/cjs/plugins/dropdown_header/plugin.js +50 -0
  29. package/dist/cjs/plugins/dropdown_header/plugin.js.map +1 -0
  30. package/dist/cjs/plugins/dropdown_header/types.js +3 -0
  31. package/dist/cjs/plugins/dropdown_header/types.js.map +1 -0
  32. package/dist/cjs/plugins/dropdown_input/plugin.js +88 -0
  33. package/dist/cjs/plugins/dropdown_input/plugin.js.map +1 -0
  34. package/dist/cjs/plugins/input_autogrow/plugin.js +47 -0
  35. package/dist/cjs/plugins/input_autogrow/plugin.js.map +1 -0
  36. package/dist/cjs/plugins/local_virtual_scroll/plugin.js +293 -0
  37. package/dist/cjs/plugins/local_virtual_scroll/plugin.js.map +1 -0
  38. package/dist/cjs/plugins/local_virtual_scroll/types.js +3 -0
  39. package/dist/cjs/plugins/local_virtual_scroll/types.js.map +1 -0
  40. package/dist/cjs/plugins/no_active_items/plugin.js +22 -0
  41. package/dist/cjs/plugins/no_active_items/plugin.js.map +1 -0
  42. package/dist/cjs/plugins/no_backspace_delete/plugin.js +28 -0
  43. package/dist/cjs/plugins/no_backspace_delete/plugin.js.map +1 -0
  44. package/dist/cjs/plugins/optgroup_columns/plugin.js +51 -0
  45. package/dist/cjs/plugins/optgroup_columns/plugin.js.map +1 -0
  46. package/dist/cjs/plugins/remove_button/plugin.js +61 -0
  47. package/dist/cjs/plugins/remove_button/plugin.js.map +1 -0
  48. package/dist/cjs/plugins/remove_button/types.js +3 -0
  49. package/dist/cjs/plugins/remove_button/types.js.map +1 -0
  50. package/dist/cjs/plugins/restore_on_backspace/plugin.js +24 -0
  51. package/dist/cjs/plugins/restore_on_backspace/plugin.js.map +1 -0
  52. package/dist/cjs/plugins/virtual_scroll/plugin.js +170 -0
  53. package/dist/cjs/plugins/virtual_scroll/plugin.js.map +1 -0
  54. package/dist/cjs/tom-select.complete.js +35 -0
  55. package/dist/cjs/tom-select.complete.js.map +1 -0
  56. package/dist/cjs/tom-select.js +2303 -0
  57. package/dist/cjs/tom-select.js.map +1 -0
  58. package/dist/cjs/tom-select.popular.js +15 -0
  59. package/dist/cjs/tom-select.popular.js.map +1 -0
  60. package/dist/cjs/types/core.js +3 -0
  61. package/dist/cjs/types/core.js.map +1 -0
  62. package/dist/cjs/types/index.js +19 -0
  63. package/dist/cjs/types/index.js.map +1 -0
  64. package/dist/cjs/types/settings.js +3 -0
  65. package/dist/cjs/types/settings.js.map +1 -0
  66. package/dist/cjs/utils.js +212 -0
  67. package/dist/cjs/utils.js.map +1 -0
  68. package/dist/cjs/vanilla.js +190 -0
  69. package/dist/cjs/vanilla.js.map +1 -0
  70. package/dist/css/tom-select.bootstrap4.css +16 -4
  71. package/dist/css/tom-select.bootstrap4.css.map +1 -0
  72. package/dist/css/tom-select.bootstrap4.min.css +2 -0
  73. package/dist/css/tom-select.bootstrap4.min.css.map +1 -0
  74. package/dist/css/tom-select.bootstrap5.css +16 -4
  75. package/dist/css/tom-select.bootstrap5.css.map +1 -0
  76. package/dist/css/tom-select.bootstrap5.min.css +2 -0
  77. package/dist/css/tom-select.bootstrap5.min.css.map +1 -0
  78. package/dist/css/tom-select.css +12 -4
  79. package/dist/css/tom-select.css.map +1 -0
  80. package/dist/css/tom-select.default.css +11 -5
  81. package/dist/css/tom-select.default.css.map +1 -1
  82. package/dist/css/tom-select.default.min.css +2 -0
  83. package/dist/css/tom-select.default.min.css.map +1 -0
  84. package/dist/css/tom-select.min.css +2 -0
  85. package/dist/css/tom-select.min.css.map +1 -0
  86. package/dist/esm/constants.d.ts +12 -0
  87. package/dist/esm/constants.js +13 -0
  88. package/dist/esm/constants.js.map +1 -0
  89. package/dist/esm/contrib/highlight.d.ts +13 -0
  90. package/dist/esm/contrib/highlight.js +64 -0
  91. package/dist/esm/contrib/highlight.js.map +1 -0
  92. package/dist/esm/contrib/microevent.d.ts +20 -0
  93. package/dist/esm/contrib/microevent.js +61 -0
  94. package/dist/esm/contrib/microevent.js.map +1 -0
  95. package/dist/esm/contrib/microplugin.d.ts +71 -0
  96. package/dist/esm/contrib/microplugin.js +109 -0
  97. package/dist/esm/contrib/microplugin.js.map +1 -0
  98. package/dist/esm/defaults.d.ts +53 -0
  99. package/dist/esm/defaults.js +83 -0
  100. package/dist/esm/defaults.js.map +1 -0
  101. package/dist/esm/getSettings.d.ts +3 -0
  102. package/dist/esm/getSettings.js +143 -0
  103. package/dist/esm/getSettings.js.map +1 -0
  104. package/dist/esm/plugins/caret_position/plugin.d.ts +16 -0
  105. package/dist/esm/plugins/caret_position/plugin.js +1 -1
  106. package/dist/esm/plugins/change_listener/plugin.d.ts +16 -0
  107. package/dist/esm/plugins/change_listener/plugin.js +1 -1
  108. package/dist/esm/plugins/checkbox_options/plugin.d.ts +17 -0
  109. package/dist/esm/plugins/checkbox_options/plugin.js +1 -1
  110. package/dist/esm/plugins/checkbox_options/types.d.ts +14 -0
  111. package/dist/esm/plugins/checkbox_options/types.js +2 -0
  112. package/dist/esm/plugins/checkbox_options/types.js.map +1 -0
  113. package/dist/esm/plugins/clear_button/plugin.d.ts +17 -0
  114. package/dist/esm/plugins/clear_button/plugin.js +1 -1
  115. package/dist/esm/plugins/clear_button/types.d.ts +7 -0
  116. package/dist/esm/plugins/clear_button/types.js +2 -0
  117. package/dist/esm/plugins/clear_button/types.js.map +1 -0
  118. package/dist/esm/plugins/drag_drop/plugin.d.ts +16 -0
  119. package/dist/esm/plugins/drag_drop/plugin.js +1 -1
  120. package/dist/esm/plugins/dropdown_header/plugin.d.ts +17 -0
  121. package/dist/esm/plugins/dropdown_header/plugin.js +1 -1
  122. package/dist/esm/plugins/dropdown_header/types.d.ts +8 -0
  123. package/dist/esm/plugins/dropdown_header/types.js +2 -0
  124. package/dist/esm/plugins/dropdown_header/types.js.map +1 -0
  125. package/dist/esm/plugins/dropdown_input/plugin.d.ts +16 -0
  126. package/dist/esm/plugins/dropdown_input/plugin.js +1 -1
  127. package/dist/esm/plugins/input_autogrow/plugin.d.ts +15 -0
  128. package/dist/esm/plugins/input_autogrow/plugin.js +1 -1
  129. package/dist/esm/plugins/local_virtual_scroll/plugin.d.ts +19 -0
  130. package/dist/esm/plugins/local_virtual_scroll/plugin.js +92 -1
  131. package/dist/esm/plugins/local_virtual_scroll/plugin.js.map +1 -1
  132. package/dist/esm/plugins/local_virtual_scroll/types.d.ts +14 -0
  133. package/dist/esm/plugins/local_virtual_scroll/types.js +2 -0
  134. package/dist/esm/plugins/local_virtual_scroll/types.js.map +1 -0
  135. package/dist/esm/plugins/no_active_items/plugin.d.ts +15 -0
  136. package/dist/esm/plugins/no_active_items/plugin.js +1 -1
  137. package/dist/esm/plugins/no_backspace_delete/plugin.d.ts +15 -0
  138. package/dist/esm/plugins/no_backspace_delete/plugin.js +1 -1
  139. package/dist/esm/plugins/optgroup_columns/plugin.d.ts +16 -0
  140. package/dist/esm/plugins/optgroup_columns/plugin.js +1 -1
  141. package/dist/esm/plugins/remove_button/plugin.d.ts +17 -0
  142. package/dist/esm/plugins/remove_button/plugin.js +1 -1
  143. package/dist/esm/plugins/remove_button/types.d.ts +6 -0
  144. package/dist/esm/plugins/remove_button/types.js +2 -0
  145. package/dist/esm/plugins/remove_button/types.js.map +1 -0
  146. package/dist/esm/plugins/restore_on_backspace/plugin.d.ts +21 -0
  147. package/dist/esm/plugins/restore_on_backspace/plugin.js +1 -1
  148. package/dist/esm/plugins/virtual_scroll/plugin.d.ts +16 -0
  149. package/dist/esm/plugins/virtual_scroll/plugin.js +1 -1
  150. package/dist/esm/tom-select.complete.d.ts +2 -0
  151. package/dist/esm/tom-select.complete.js +33 -0
  152. package/dist/esm/tom-select.complete.js.map +1 -0
  153. package/dist/esm/tom-select.d.ts +594 -0
  154. package/dist/esm/tom-select.js +2300 -0
  155. package/dist/esm/tom-select.js.map +1 -0
  156. package/dist/esm/tom-select.popular.d.ts +2 -0
  157. package/dist/esm/tom-select.popular.js +13 -0
  158. package/dist/esm/tom-select.popular.js.map +1 -0
  159. package/dist/esm/types/core.d.ts +50 -0
  160. package/dist/esm/types/core.js +2 -0
  161. package/dist/esm/types/core.js.map +1 -0
  162. package/dist/esm/types/index.d.ts +2 -0
  163. package/dist/esm/types/index.js +3 -0
  164. package/dist/esm/types/index.js.map +1 -0
  165. package/dist/esm/types/settings.d.ts +81 -0
  166. package/dist/esm/types/settings.js +2 -0
  167. package/dist/esm/types/settings.js.map +1 -0
  168. package/dist/esm/utils.d.ts +95 -0
  169. package/dist/esm/utils.js +195 -0
  170. package/dist/esm/utils.js.map +1 -0
  171. package/dist/esm/vanilla.d.ts +76 -0
  172. package/dist/esm/vanilla.js +172 -0
  173. package/dist/esm/vanilla.js.map +1 -0
  174. package/dist/js/package.json +1 -0
  175. package/dist/js/plugins/caret_position.js +1 -1
  176. package/dist/js/plugins/change_listener.js +1 -1
  177. package/dist/js/plugins/checkbox_options.js +1 -1
  178. package/dist/js/plugins/clear_button.js +1 -1
  179. package/dist/js/plugins/drag_drop.js +1 -1
  180. package/dist/js/plugins/dropdown_header.js +1 -1
  181. package/dist/js/plugins/dropdown_input.js +1 -1
  182. package/dist/js/plugins/input_autogrow.js +1 -1
  183. package/dist/js/plugins/local_virtual_scroll.js +92 -1
  184. package/dist/js/plugins/local_virtual_scroll.js.map +1 -1
  185. package/dist/js/plugins/no_active_items.js +1 -1
  186. package/dist/js/plugins/no_backspace_delete.js +1 -1
  187. package/dist/js/plugins/optgroup_columns.js +1 -1
  188. package/dist/js/plugins/remove_button.js +1 -1
  189. package/dist/js/plugins/restore_on_backspace.js +1 -1
  190. package/dist/js/plugins/virtual_scroll.js +1 -1
  191. package/dist/js/tom-select.base.js +1 -1
  192. package/dist/js/tom-select.base.min.js +1 -1
  193. package/dist/js/tom-select.complete.js +19 -1
  194. package/dist/js/tom-select.complete.js.map +1 -1
  195. package/dist/js/tom-select.complete.min.js +51 -45
  196. package/dist/js/tom-select.complete.min.js.map +1 -1
  197. package/dist/js/tom-select.popular.js +1 -1
  198. package/dist/js/tom-select.popular.min.js +1 -1
  199. package/dist/scss/_dropdown.scss +99 -0
  200. package/dist/scss/_items.scss +114 -0
  201. package/dist/scss/plugins/checkbox_options.scss +11 -0
  202. package/dist/scss/plugins/clear_button.scss +33 -0
  203. package/dist/scss/plugins/drag_drop.scss +10 -0
  204. package/dist/scss/plugins/dropdown_header.scss +24 -0
  205. package/dist/scss/plugins/dropdown_input.scss +43 -0
  206. package/dist/scss/plugins/input_autogrow.scss +15 -0
  207. package/dist/scss/plugins/optgroup_columns.scss +25 -0
  208. package/dist/scss/plugins/remove_button.scss +70 -0
  209. package/dist/scss/tom-select.bootstrap4.scss +218 -0
  210. package/dist/scss/tom-select.bootstrap5.scss +270 -0
  211. package/dist/scss/tom-select.default.scss +89 -0
  212. package/dist/scss/tom-select.scss +179 -0
  213. package/package.json +2 -2
  214. package/src/plugins/local_virtual_scroll/plugin.ts +19 -0
  215. /package/dist/{types → cjs}/constants.d.ts +0 -0
  216. /package/dist/{types → cjs}/contrib/highlight.d.ts +0 -0
  217. /package/dist/{types → cjs}/contrib/microevent.d.ts +0 -0
  218. /package/dist/{types → cjs}/contrib/microplugin.d.ts +0 -0
  219. /package/dist/{types → cjs}/defaults.d.ts +0 -0
  220. /package/dist/{types → cjs}/getSettings.d.ts +0 -0
  221. /package/dist/{types → cjs}/plugins/caret_position/plugin.d.ts +0 -0
  222. /package/dist/{types → cjs}/plugins/change_listener/plugin.d.ts +0 -0
  223. /package/dist/{types → cjs}/plugins/checkbox_options/plugin.d.ts +0 -0
  224. /package/dist/{types → cjs}/plugins/checkbox_options/types.d.ts +0 -0
  225. /package/dist/{types → cjs}/plugins/clear_button/plugin.d.ts +0 -0
  226. /package/dist/{types → cjs}/plugins/clear_button/types.d.ts +0 -0
  227. /package/dist/{types → cjs}/plugins/drag_drop/plugin.d.ts +0 -0
  228. /package/dist/{types → cjs}/plugins/dropdown_header/plugin.d.ts +0 -0
  229. /package/dist/{types → cjs}/plugins/dropdown_header/types.d.ts +0 -0
  230. /package/dist/{types → cjs}/plugins/dropdown_input/plugin.d.ts +0 -0
  231. /package/dist/{types → cjs}/plugins/input_autogrow/plugin.d.ts +0 -0
  232. /package/dist/{types → cjs}/plugins/local_virtual_scroll/plugin.d.ts +0 -0
  233. /package/dist/{types → cjs}/plugins/local_virtual_scroll/types.d.ts +0 -0
  234. /package/dist/{types → cjs}/plugins/no_active_items/plugin.d.ts +0 -0
  235. /package/dist/{types → cjs}/plugins/no_backspace_delete/plugin.d.ts +0 -0
  236. /package/dist/{types → cjs}/plugins/optgroup_columns/plugin.d.ts +0 -0
  237. /package/dist/{types → cjs}/plugins/remove_button/plugin.d.ts +0 -0
  238. /package/dist/{types → cjs}/plugins/remove_button/types.d.ts +0 -0
  239. /package/dist/{types → cjs}/plugins/restore_on_backspace/plugin.d.ts +0 -0
  240. /package/dist/{types → cjs}/plugins/virtual_scroll/plugin.d.ts +0 -0
  241. /package/dist/{types → cjs}/tom-select.complete.d.ts +0 -0
  242. /package/dist/{types → cjs}/tom-select.d.ts +0 -0
  243. /package/dist/{types → cjs}/tom-select.popular.d.ts +0 -0
  244. /package/dist/{types → cjs}/types/core.d.ts +0 -0
  245. /package/dist/{types → cjs}/types/index.d.ts +0 -0
  246. /package/dist/{types → cjs}/types/settings.d.ts +0 -0
  247. /package/dist/{types → cjs}/utils.d.ts +0 -0
  248. /package/dist/{types → cjs}/vanilla.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tom Select v2.5.2
2
+ * Tom Select v2.5.2-virtual-scroll.1
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tom Select v2.5.2
2
+ * Tom Select v2.5.2-virtual-scroll.1
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).TomSelect=e()}(this,function(){"use strict"
@@ -0,0 +1,99 @@
1
+ .#{$select-ns}-dropdown {
2
+ position: absolute;
3
+ top: 100%;
4
+ left: 0;
5
+ width: 100%;
6
+ z-index: 10;
7
+ border: $select-dropdown-border;
8
+ background: $select-color-dropdown;
9
+ margin: 0.25rem 0 0;
10
+ border-top: 0 none;
11
+ box-sizing: border-box;
12
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 10%);
13
+ border-radius: 0 0 $select-border-radius $select-border-radius;
14
+
15
+ [data-selectable] {
16
+ cursor: pointer;
17
+ overflow: hidden;
18
+
19
+ .highlight {
20
+ background: $select-color-highlight;
21
+ border-radius: 1px;
22
+ }
23
+ }
24
+
25
+ .option,
26
+ .optgroup-header,
27
+ .no-results,
28
+ .create {
29
+ padding: $select-padding-dropdown-item-y $select-padding-dropdown-item-x;
30
+ }
31
+
32
+ .option, [data-disabled], [data-disabled] [data-selectable].option {
33
+ cursor: inherit;
34
+ opacity: 0.5;
35
+ }
36
+
37
+ [data-selectable].option {
38
+ opacity: 1;
39
+ cursor: pointer;
40
+ }
41
+
42
+ .optgroup:first-child .optgroup-header {
43
+ border-top: 0 none;
44
+ }
45
+
46
+ .optgroup-header {
47
+ color: $select-color-optgroup-text;
48
+ background: $select-color-optgroup;
49
+ cursor: default;
50
+ }
51
+
52
+ .active {
53
+ background-color: $select-color-dropdown-item-active;
54
+ color: $select-color-dropdown-item-active-text;
55
+
56
+ &.create {
57
+ color: $select-color-dropdown-item-create-active-text;
58
+ }
59
+ }
60
+
61
+ .create {
62
+ color: $select-color-dropdown-item-create-text;
63
+ }
64
+
65
+ .spinner{
66
+ display: inline-block;
67
+ width: $select-spinner-size;
68
+ height: $select-spinner-size;
69
+ margin: $select-padding-dropdown-item-y $select-padding-dropdown-item-x;
70
+
71
+
72
+ &::after {
73
+ content: " ";
74
+ display: block;
75
+ width: $select-spinner-size * .8;
76
+ height: $select-spinner-size * .8;
77
+ margin: $select-spinner-size * .1;
78
+ border-radius: 50%;
79
+ border: $select-spinner-border-size solid $select-spinner-border-color;
80
+ border-color: $select-spinner-border-color transparent $select-spinner-border-color transparent;
81
+ animation: lds-dual-ring 1.2s linear infinite;
82
+ }
83
+ @keyframes lds-dual-ring {
84
+ 0% {
85
+ transform: rotate(0deg);
86
+ }
87
+
88
+ 100% {
89
+ transform: rotate(360deg);
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+ .#{$select-ns}-dropdown-content {
96
+ overflow: hidden auto;
97
+ max-height: $select-max-height-dropdown;
98
+ scroll-behavior: smooth;
99
+ }
@@ -0,0 +1,114 @@
1
+ .#{$select-ns}-control {
2
+ border: $select-border;
3
+ padding: $select-padding-y $select-padding-x;
4
+ width: 100%;
5
+ overflow: hidden;
6
+ position: relative;
7
+ z-index: 1;
8
+ box-sizing: border-box;
9
+ box-shadow: $select-shadow-input;
10
+ border-radius: $select-border-radius;
11
+ display: flex;
12
+ flex-wrap: wrap;
13
+
14
+ .#{$select-ns}-wrapper.multi.has-items & {
15
+ $padding-x: $select-padding-x;
16
+ $padding-top: calc( #{$select-padding-y} - #{$select-padding-item-y} - #{$select-width-item-border});
17
+ $padding-bottom: calc( #{$select-padding-y} - #{$select-padding-item-y} - #{$select-margin-item-y} - #{$select-width-item-border});
18
+
19
+ padding: $padding-top $padding-x $padding-bottom;
20
+ }
21
+
22
+ .full & {
23
+ background-color: $select-color-input-full;
24
+ }
25
+
26
+ .disabled &,
27
+ .disabled & * {
28
+ cursor: default !important;
29
+ }
30
+
31
+ .focus & {
32
+ box-shadow: $select-shadow-input-focus;
33
+ }
34
+
35
+ > * {
36
+ vertical-align: baseline;
37
+ display: inline-block;
38
+ }
39
+
40
+ .#{$select-ns}-wrapper.multi & > div {
41
+ cursor: pointer;
42
+ margin: 0 $select-margin-item-x $select-margin-item-y 0;
43
+ padding: $select-padding-item-y $select-padding-item-x;
44
+ background: $select-color-item;
45
+ color: $select-color-item-text;
46
+ border: $select-width-item-border solid $select-color-item-border;
47
+ overflow: auto;
48
+
49
+ &.active {
50
+ background: $select-color-item-active;
51
+ color: $select-color-item-active-text;
52
+ border: $select-width-item-border solid $select-color-item-active-border;
53
+ }
54
+ }
55
+
56
+ .#{$select-ns}-wrapper.multi.disabled & > div {
57
+ &, &.active {
58
+ color: lighten(desaturate($select-color-item-text, 100%), $select-lighten-disabled-item-text);
59
+ background: lighten(desaturate($select-color-item, 100%), $select-lighten-disabled-item);
60
+ border: $select-width-item-border solid lighten(desaturate($select-color-item-border, 100%), $select-lighten-disabled-item-border);
61
+ }
62
+ }
63
+
64
+ > input {
65
+ flex: 1 1 auto;
66
+ min-width: 7rem;
67
+ display: inline-block !important;
68
+ padding: 0 !important;
69
+ min-height: 0 !important;
70
+ max-height: none !important;
71
+ max-width: 100% !important;
72
+ margin: 0 !important;
73
+ text-indent: 0 !important;
74
+ border: 0 none !important;
75
+ background: none !important;
76
+ line-height: inherit !important;
77
+ user-select: auto !important;
78
+ box-shadow: none !important;
79
+
80
+ &::-ms-clear {
81
+ display: none;
82
+ }
83
+
84
+ &:focus { outline: none !important; }
85
+ }
86
+
87
+ .has-items & > input{
88
+ margin: $select-caret-margin !important;
89
+ }
90
+
91
+ &.rtl {
92
+ text-align: right;
93
+ &.single .#{$select-ns}-control:after {
94
+ left: $select-arrow-offset;
95
+ right: auto;
96
+ }
97
+ .#{$select-ns}-control > input {
98
+ margin: $select-caret-margin-rtl !important;
99
+ }
100
+ }
101
+
102
+ .disabled & {
103
+ opacity: $select-opacity-disabled;
104
+ background-color: $select-color-disabled;
105
+ }
106
+
107
+ // hide input, while retaining its focus, and maintain layout so users can still click on the space to bring the display back
108
+ // visibility:hidden can prevent the input from receiving focus
109
+ .input-hidden & > input {
110
+ opacity: 0;
111
+ position: absolute;
112
+ left: -10000px;
113
+ }
114
+ }
@@ -0,0 +1,11 @@
1
+ .plugin-checkbox_options:not(.rtl) {
2
+ .option input {
3
+ margin-right: 0.5rem;
4
+ }
5
+ }
6
+
7
+ .plugin-checkbox_options.rtl {
8
+ .option input {
9
+ margin-left: 0.5rem;
10
+ }
11
+ }
@@ -0,0 +1,33 @@
1
+ /* stylelint-disable function-name-case */
2
+
3
+ .plugin-clear_button {
4
+ --ts-pr-clear-button: 1em;
5
+
6
+ .clear-button{
7
+ opacity: 0;
8
+ position: absolute;
9
+ top: 50%;
10
+ transform: translateY(-50%);
11
+ right: calc(#{$select-padding-x} - #{$select-padding-item-x});
12
+ margin-right: 0 !important;
13
+ background: transparent !important;
14
+ transition: opacity 0.5s;
15
+ cursor: pointer;
16
+ }
17
+
18
+ &.form-select .clear-button,
19
+ &.single .clear-button {
20
+
21
+ @if variable-exists(select-padding-dropdown-item-x) {
22
+ right: Max(var(--ts-pr-caret), #{$select-padding-dropdown-item-x});
23
+ }
24
+ @else{
25
+ right: Max(var(--ts-pr-caret), calc(#{$select-padding-x} - #{$select-padding-item-x}));
26
+ }
27
+ }
28
+
29
+ &.focus.has-items .clear-button,
30
+ &:not(.disabled):hover.has-items .clear-button{
31
+ opacity: 1;
32
+ }
33
+ }
@@ -0,0 +1,10 @@
1
+ .#{$select-ns}-wrapper.plugin-drag_drop {
2
+ .ts-dragging{
3
+ color:transparent !important;
4
+ }
5
+
6
+ .ts-dragging > * {
7
+ visibility:hidden !important;
8
+ }
9
+
10
+ }
@@ -0,0 +1,24 @@
1
+ .#{$select-ns}-wrapper{
2
+ .dropdown-header {
3
+ position: relative;
4
+ padding: ($select-padding-dropdown-item-y * 2) $select-padding-dropdown-item-x;
5
+ border-bottom: 1px solid $select-color-border;
6
+ background: color-mix($select-color-dropdown, $select-color-border, 85%);
7
+ border-radius: $select-border-radius $select-border-radius 0 0;
8
+ }
9
+
10
+ .dropdown-header-close {
11
+ position: absolute;
12
+ right: $select-padding-dropdown-item-x;
13
+ top: 50%;
14
+ color: $select-color-text;
15
+ opacity: 0.4;
16
+ margin-top: -12px;
17
+ line-height: 20px;
18
+ font-size: 20px !important;
19
+ }
20
+
21
+ .dropdown-header-close:hover {
22
+ color: darken($select-color-text, 25%);
23
+ }
24
+ }
@@ -0,0 +1,43 @@
1
+ .plugin-dropdown_input{
2
+
3
+ &.focus.dropdown-active .#{$select-ns}-control{
4
+ box-shadow: none;
5
+ border: $select-border;
6
+ @if variable-exists(input-box-shadow) {
7
+ box-shadow: $input-box-shadow;
8
+ }
9
+ }
10
+
11
+ .dropdown-input {
12
+ border: 1px solid $select-color-border;
13
+ border-width: 0 0 1px;
14
+ display: block;
15
+ padding: $select-padding-y $select-padding-x;
16
+ box-shadow: $select-shadow-input;
17
+ width: 100%;
18
+ background: transparent;
19
+ }
20
+
21
+ &.focus .#{$select-ns}-dropdown .dropdown-input{
22
+ @if variable-exists(input-focus-border-color) {
23
+ border-color: $input-focus-border-color;
24
+ outline: 0;
25
+ @if $enable-shadows {
26
+ box-shadow: $input-box-shadow, $input-focus-box-shadow;
27
+ } @else {
28
+ box-shadow: $input-focus-box-shadow;
29
+ }
30
+ }
31
+ }
32
+
33
+ .items-placeholder{
34
+ border: 0 none !important;
35
+ box-shadow: none !important;
36
+ width: 100%;
37
+ }
38
+
39
+ &.has-items .items-placeholder,
40
+ &.dropdown-active .items-placeholder{
41
+ display: none !important;
42
+ }
43
+ }
@@ -0,0 +1,15 @@
1
+ .#{$select-ns}-wrapper.plugin-input_autogrow{
2
+
3
+ &.has-items .#{$select-ns}-control > input {
4
+ min-width: 0;
5
+ }
6
+
7
+ &.has-items.focus .#{$select-ns}-control > input {
8
+ flex: none;
9
+ min-width: 4px;
10
+
11
+ &::placeholder {
12
+ color:transparent;
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,25 @@
1
+ .#{$select-ns}-dropdown.plugin-optgroup_columns {
2
+ .ts-dropdown-content{
3
+ display: flex;
4
+ }
5
+
6
+ .optgroup {
7
+ border-right: 1px solid #f2f2f2;
8
+ border-top: 0 none;
9
+ flex-grow: 1;
10
+ flex-basis: 0;
11
+ min-width: 0;
12
+ }
13
+
14
+ .optgroup:last-child {
15
+ border-right: 0 none;
16
+ }
17
+
18
+ .optgroup::before {
19
+ display: none;
20
+ }
21
+
22
+ .optgroup-header {
23
+ border-top: 0 none;
24
+ }
25
+ }
@@ -0,0 +1,70 @@
1
+ .#{$select-ns}-wrapper.plugin-remove_button{
2
+ .item {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ }
6
+
7
+ .item .remove {
8
+ color: inherit;
9
+ text-decoration: none;
10
+ vertical-align: middle;
11
+ display: inline-block;
12
+ padding: 0 $select-padding-item-x;
13
+ border-radius: 0 2px 2px 0;
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ .item .remove:hover {
18
+ background: rgba(0, 0, 0, 5%);
19
+ }
20
+
21
+ &.disabled .item .remove:hover {
22
+ background: none;
23
+ }
24
+
25
+
26
+ .remove-single {
27
+ position: absolute;
28
+ right: 0;
29
+ top: 0;
30
+ font-size: 23px;
31
+ }
32
+ }
33
+
34
+ .#{$select-ns}-wrapper.plugin-remove_button:not(.rtl){
35
+ .item {
36
+ padding-right: 0 !important;
37
+ }
38
+
39
+ .item .remove {
40
+ border-left: 1px solid $select-color-item-border;
41
+ margin-left: $select-padding-item-x;
42
+ }
43
+
44
+ .item.active .remove {
45
+ border-left-color: $select-color-item-active-border;
46
+ }
47
+
48
+ &.disabled .item .remove {
49
+ border-left-color: lighten(desaturate($select-color-item-border, 100%), $select-lighten-disabled-item-border);
50
+ }
51
+ }
52
+
53
+ .#{$select-ns}-wrapper.plugin-remove_button.rtl {
54
+ .item {
55
+ padding-left: 0 !important;
56
+ }
57
+
58
+ .item .remove {
59
+ border-right: 1px solid $select-color-item-border;
60
+ margin-right: $select-padding-item-x;
61
+ }
62
+
63
+ .item.active .remove {
64
+ border-right-color: $select-color-item-active-border;
65
+ }
66
+
67
+ &.disabled .item .remove {
68
+ border-right-color: lighten(desaturate($select-color-item-border, 100%), $select-lighten-disabled-item-border);
69
+ }
70
+ }
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Tom Select Bootstrap 4
3
+ */
4
+
5
+ // Import Bootstrap 4 functions and variables
6
+ $state-valid: map-get($form-validation-states,'valid') !default;
7
+ $state-invalid: map-get($form-validation-states,'invalid') !default;
8
+ $enable-shadows: true !default;
9
+ $select-font-family: inherit !default;
10
+ $select-font-size: inherit !default;
11
+ $select-line-height: $input-btn-line-height !default; // formerly line-height-computed
12
+
13
+ $select-color-text: gray("800") !default; // $gray-800
14
+ $select-color-highlight: rgba(255, 237, 40, 40%) !default;
15
+ $select-color-input: $input-bg !default;
16
+ $select-color-input-full: $input-bg !default;
17
+ $select-color-input-error: map-get($state-invalid,'color') !default;
18
+ $select-color-input-error-focus: darken($select-color-input-error, 10%) !default;
19
+ $select-color-disabled: $input-disabled-bg !default;
20
+ $select-color-item: #efefef !default;
21
+ $select-color-item-border: $border-color !default;
22
+ $select-color-item-active: $component-active-bg !default;
23
+ $select-color-item-active-text: #fff !default;
24
+ $select-color-item-active-border: rgba(0, 0, 0, 0%) !default;
25
+ $select-color-optgroup: $dropdown-bg !default;
26
+ $select-color-optgroup-text: $dropdown-header-color !default;
27
+ $select-color-optgroup-border: $dropdown-divider-bg !default;
28
+ $select-color-dropdown: $dropdown-bg !default;
29
+ $select-color-dropdown-border-top: mix($input-border-color, $input-bg, 80%) !default;
30
+ $select-color-dropdown-item-active: $dropdown-link-hover-bg !default;
31
+ $select-color-dropdown-item-active-text: $dropdown-link-hover-color !default;
32
+ $select-color-dropdown-item-create-active-text: $dropdown-link-hover-color !default;
33
+ $select-opacity-disabled: 0.5 !default;
34
+ $select-border: 1px solid $input-border-color !default;
35
+ $select-border-radius: $input-border-radius !default;
36
+ $select-width-item-border: 0 !default;
37
+ $select-padding-x: $input-btn-padding-x !default;
38
+ $select-padding-y: $input-btn-padding-y !default;
39
+ $select-padding-dropdown-item-x: $input-btn-padding-x !default;
40
+ $select-padding-dropdown-item-y: 3px !default;
41
+ $select-padding-item-x: 5px !default;
42
+ $select-padding-item-y: 1px !default;
43
+ $select-margin-item-x: 3px !default;
44
+ $select-margin-item-y: 3px !default;
45
+ $select-arrow-size: 5px !default;
46
+ $select-arrow-color: $select-color-text !default;
47
+ $select-arrow-offset: calc(#{$select-padding-x} + 5px) !default;
48
+
49
+ @import "tom-select";
50
+ @include ts-caret;
51
+
52
+ .#{$select-ns}-wrapper.form-control,
53
+ .#{$select-ns}-wrapper.form-select {
54
+ padding:0 !important;
55
+ }
56
+
57
+ .#{$select-ns}-dropdown,
58
+ .#{$select-ns}-dropdown.form-control {
59
+ height: auto;
60
+ padding: 0;
61
+ z-index: $zindex-dropdown;
62
+ background: $select-color-dropdown;
63
+ border: 1px solid $dropdown-border-color; // $dropdown-fallback-border
64
+ border-radius: $border-radius;
65
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 17.5%);
66
+ }
67
+
68
+ .#{$select-ns}-dropdown {
69
+ .optgroup-header {
70
+ font-size: $font-size-sm;
71
+ line-height: $line-height-base;
72
+ }
73
+
74
+ .optgroup:first-child::before {
75
+ display: none;
76
+ }
77
+
78
+ .optgroup::before {
79
+ content: ' ';
80
+ display: block;
81
+ height: 0;
82
+ margin: $dropdown-divider-margin-y 0;
83
+ overflow: hidden;
84
+ border-top: 1px solid $dropdown-divider-bg;
85
+ margin-left: $select-padding-dropdown-item-x * -1;
86
+ margin-right: $select-padding-dropdown-item-x * -1;
87
+ }
88
+
89
+ .create {
90
+ padding-left: $select-padding-dropdown-item-x;
91
+ }
92
+ }
93
+
94
+ .#{$select-ns}-dropdown-content {
95
+ padding: 5px 0;
96
+ }
97
+
98
+ .#{$select-ns}-control {
99
+ min-height: $input-height;
100
+ @include box-shadow($input-box-shadow);
101
+ @include transition($input-transition);
102
+
103
+ display:flex;
104
+ align-items: center;
105
+
106
+ .focus & {
107
+ border-color: $input-focus-border-color;
108
+ outline: 0;
109
+ @if $enable-shadows {
110
+ box-shadow: $input-box-shadow, $input-focus-box-shadow;
111
+ } @else {
112
+ box-shadow: $input-focus-box-shadow;
113
+ }
114
+ }
115
+
116
+ input::placeholder {
117
+ color: #a7aeb8;
118
+ opacity: 1;
119
+ }
120
+ }
121
+
122
+ .is-invalid .#{$select-ns}-control,
123
+ .was-validated .invalid .#{$select-ns}-control{
124
+ border-color: $select-color-input-error;
125
+
126
+ .focus & {
127
+ border-color: $select-color-input-error-focus;
128
+ box-shadow: 0 0 0 $input-focus-width rgba($select-color-input-error, .25);
129
+ }
130
+ }
131
+
132
+ .is-valid .#{$select-ns}-control {
133
+ $_color: map-get($state-valid,'color');
134
+
135
+ border-color: $_color;
136
+
137
+ .focus & {
138
+ border-color: $_color;
139
+ box-shadow: 0 0 0 $input-focus-width rgba($_color, .25);
140
+ }
141
+ }
142
+
143
+ .#{$select-ns}-wrapper {
144
+ .input-group-sm > &,
145
+ &.form-control-sm {
146
+
147
+ .#{$select-ns}-control {
148
+ min-height: $input-height-sm;
149
+ padding: 0 .75rem;
150
+
151
+ // padding: $input-padding-y-sm $input-padding-x-sm;
152
+ @include border-radius($input-border-radius-sm);
153
+ @include font-size($input-font-size-sm);
154
+ }
155
+
156
+ &.has-items .#{$select-ns}-control {
157
+ min-height: $input-height-sm !important;
158
+ font-size: $input-font-size-sm;
159
+ padding-bottom: 0;
160
+ }
161
+ }
162
+
163
+ .input-group-sm > &.multi.has-items,
164
+ &.form-control-sm.multi.has-items {
165
+ .#{$select-ns}-control {
166
+ // padding-top = ($input-height-sm - border-width - item-height) / 2;
167
+ // item-height = ($select-line-height * $input-font-size-sm) + ($select-padding-item-y * 2)
168
+ $border-and-padding: add($input-border-width,$select-padding-item-y) * 2;
169
+ $ts-select-padding-sm: calc( (#{$input-height-sm} - (#{$select-line-height} * #{$input-font-size-sm}) - #{$border-and-padding})/2);
170
+
171
+ padding-top: $ts-select-padding-sm !important;
172
+ }
173
+ }
174
+
175
+ &.multi {
176
+ &.has-items .#{$select-ns}-control {
177
+ padding-left: calc(#{$select-padding-x} - #{$select-padding-item-x});
178
+
179
+ --ts-pr-min: calc(#{$select-padding-x} - #{$select-padding-item-x});
180
+ }
181
+ .#{$select-ns}-control > div {
182
+ border-radius: calc(#{$select-border-radius} - 1px);
183
+ }
184
+ }
185
+
186
+ .input-group-lg > & >,
187
+ &.form-control-lg {
188
+ .#{$select-ns}-control {
189
+ min-height: $input-height-lg;
190
+ @include border-radius($input-border-radius-lg);
191
+ @include font-size($input-font-size-lg);
192
+ }
193
+ }
194
+ }
195
+
196
+ .form-control.#{$select-ns}-wrapper {
197
+ padding: 0;
198
+ height: auto;
199
+ border: none;
200
+ background: none;
201
+ border-radius: 0;
202
+ }
203
+
204
+ .input-group {
205
+ & > .#{$select-ns}-wrapper {
206
+ flex-grow: 1;
207
+ }
208
+
209
+ & > .#{$select-ns}-wrapper:not(:nth-child(2)) > .#{$select-ns}-control {
210
+ border-top-left-radius: 0;
211
+ border-bottom-left-radius: 0;
212
+ }
213
+
214
+ & > .#{$select-ns}-wrapper:not(:last-child) > .#{$select-ns}-control {
215
+ border-top-right-radius: 0;
216
+ border-bottom-right-radius: 0;
217
+ }
218
+ }