@drecchia/tom-select 2.5.2-virtual-scroll.0
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.
- package/LICENSE +202 -0
- package/README.md +104 -0
- package/dist/css/tom-select.bootstrap4.css +573 -0
- package/dist/css/tom-select.bootstrap5.css +612 -0
- package/dist/css/tom-select.css +405 -0
- package/dist/css/tom-select.default.css +497 -0
- package/dist/css/tom-select.default.css.map +1 -0
- package/dist/esm/plugins/caret_position/plugin.js +163 -0
- package/dist/esm/plugins/caret_position/plugin.js.map +1 -0
- package/dist/esm/plugins/change_listener/plugin.js +51 -0
- package/dist/esm/plugins/change_listener/plugin.js.map +1 -0
- package/dist/esm/plugins/checkbox_options/plugin.js +179 -0
- package/dist/esm/plugins/checkbox_options/plugin.js.map +1 -0
- package/dist/esm/plugins/clear_button/plugin.js +76 -0
- package/dist/esm/plugins/clear_button/plugin.js.map +1 -0
- package/dist/esm/plugins/drag_drop/plugin.js +220 -0
- package/dist/esm/plugins/drag_drop/plugin.js.map +1 -0
- package/dist/esm/plugins/dropdown_header/plugin.js +102 -0
- package/dist/esm/plugins/dropdown_header/plugin.js.map +1 -0
- package/dist/esm/plugins/dropdown_input/plugin.js +224 -0
- package/dist/esm/plugins/dropdown_input/plugin.js.map +1 -0
- package/dist/esm/plugins/input_autogrow/plugin.js +74 -0
- package/dist/esm/plugins/input_autogrow/plugin.js.map +1 -0
- package/dist/esm/plugins/local_virtual_scroll/plugin.js +305 -0
- package/dist/esm/plugins/local_virtual_scroll/plugin.js.map +1 -0
- package/dist/esm/plugins/no_active_items/plugin.js +26 -0
- package/dist/esm/plugins/no_active_items/plugin.js.map +1 -0
- package/dist/esm/plugins/no_backspace_delete/plugin.js +32 -0
- package/dist/esm/plugins/no_backspace_delete/plugin.js.map +1 -0
- package/dist/esm/plugins/optgroup_columns/plugin.js +86 -0
- package/dist/esm/plugins/optgroup_columns/plugin.js.map +1 -0
- package/dist/esm/plugins/remove_button/plugin.js +134 -0
- package/dist/esm/plugins/remove_button/plugin.js.map +1 -0
- package/dist/esm/plugins/restore_on_backspace/plugin.js +42 -0
- package/dist/esm/plugins/restore_on_backspace/plugin.js.map +1 -0
- package/dist/esm/plugins/virtual_scroll/plugin.js +272 -0
- package/dist/esm/plugins/virtual_scroll/plugin.js.map +1 -0
- package/dist/js/plugins/caret_position.js +171 -0
- package/dist/js/plugins/caret_position.js.map +1 -0
- package/dist/js/plugins/change_listener.js +59 -0
- package/dist/js/plugins/change_listener.js.map +1 -0
- package/dist/js/plugins/checkbox_options.js +187 -0
- package/dist/js/plugins/checkbox_options.js.map +1 -0
- package/dist/js/plugins/clear_button.js +84 -0
- package/dist/js/plugins/clear_button.js.map +1 -0
- package/dist/js/plugins/drag_drop.js +228 -0
- package/dist/js/plugins/drag_drop.js.map +1 -0
- package/dist/js/plugins/dropdown_header.js +110 -0
- package/dist/js/plugins/dropdown_header.js.map +1 -0
- package/dist/js/plugins/dropdown_input.js +232 -0
- package/dist/js/plugins/dropdown_input.js.map +1 -0
- package/dist/js/plugins/input_autogrow.js +82 -0
- package/dist/js/plugins/input_autogrow.js.map +1 -0
- package/dist/js/plugins/local_virtual_scroll.js +313 -0
- package/dist/js/plugins/local_virtual_scroll.js.map +1 -0
- package/dist/js/plugins/no_active_items.js +34 -0
- package/dist/js/plugins/no_active_items.js.map +1 -0
- package/dist/js/plugins/no_backspace_delete.js +40 -0
- package/dist/js/plugins/no_backspace_delete.js.map +1 -0
- package/dist/js/plugins/optgroup_columns.js +94 -0
- package/dist/js/plugins/optgroup_columns.js.map +1 -0
- package/dist/js/plugins/remove_button.js +142 -0
- package/dist/js/plugins/remove_button.js.map +1 -0
- package/dist/js/plugins/restore_on_backspace.js +50 -0
- package/dist/js/plugins/restore_on_backspace.js.map +1 -0
- package/dist/js/plugins/virtual_scroll.js +280 -0
- package/dist/js/plugins/virtual_scroll.js.map +1 -0
- package/dist/js/tom-select.base.js +4167 -0
- package/dist/js/tom-select.base.js.map +1 -0
- package/dist/js/tom-select.base.min.js +373 -0
- package/dist/js/tom-select.base.min.js.map +1 -0
- package/dist/js/tom-select.complete.js +5364 -0
- package/dist/js/tom-select.complete.js.map +1 -0
- package/dist/js/tom-select.complete.min.js +489 -0
- package/dist/js/tom-select.complete.min.js.map +1 -0
- package/dist/js/tom-select.popular.js +4436 -0
- package/dist/js/tom-select.popular.js.map +1 -0
- package/dist/js/tom-select.popular.min.js +396 -0
- package/dist/js/tom-select.popular.min.js.map +1 -0
- package/dist/types/constants.d.ts +12 -0
- package/dist/types/contrib/highlight.d.ts +13 -0
- package/dist/types/contrib/microevent.d.ts +20 -0
- package/dist/types/contrib/microplugin.d.ts +71 -0
- package/dist/types/defaults.d.ts +53 -0
- package/dist/types/getSettings.d.ts +3 -0
- package/dist/types/plugins/caret_position/plugin.d.ts +16 -0
- package/dist/types/plugins/change_listener/plugin.d.ts +16 -0
- package/dist/types/plugins/checkbox_options/plugin.d.ts +17 -0
- package/dist/types/plugins/checkbox_options/types.d.ts +14 -0
- package/dist/types/plugins/clear_button/plugin.d.ts +17 -0
- package/dist/types/plugins/clear_button/types.d.ts +7 -0
- package/dist/types/plugins/drag_drop/plugin.d.ts +16 -0
- package/dist/types/plugins/dropdown_header/plugin.d.ts +17 -0
- package/dist/types/plugins/dropdown_header/types.d.ts +8 -0
- package/dist/types/plugins/dropdown_input/plugin.d.ts +16 -0
- package/dist/types/plugins/input_autogrow/plugin.d.ts +15 -0
- package/dist/types/plugins/local_virtual_scroll/plugin.d.ts +19 -0
- package/dist/types/plugins/local_virtual_scroll/types.d.ts +14 -0
- package/dist/types/plugins/no_active_items/plugin.d.ts +15 -0
- package/dist/types/plugins/no_backspace_delete/plugin.d.ts +15 -0
- package/dist/types/plugins/optgroup_columns/plugin.d.ts +16 -0
- package/dist/types/plugins/remove_button/plugin.d.ts +17 -0
- package/dist/types/plugins/remove_button/types.d.ts +6 -0
- package/dist/types/plugins/restore_on_backspace/plugin.d.ts +21 -0
- package/dist/types/plugins/virtual_scroll/plugin.d.ts +16 -0
- package/dist/types/tom-select.complete.d.ts +2 -0
- package/dist/types/tom-select.d.ts +594 -0
- package/dist/types/tom-select.popular.d.ts +2 -0
- package/dist/types/types/core.d.ts +50 -0
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/settings.d.ts +81 -0
- package/dist/types/utils.d.ts +95 -0
- package/dist/types/vanilla.d.ts +76 -0
- package/package.json +156 -0
- package/src/constants.ts +13 -0
- package/src/contrib/highlight.ts +81 -0
- package/src/contrib/microevent.ts +73 -0
- package/src/contrib/microplugin.ts +137 -0
- package/src/defaults.ts +95 -0
- package/src/getSettings.ts +176 -0
- package/src/plugins/caret_position/plugin.ts +73 -0
- package/src/plugins/change_listener/plugin.ts +23 -0
- package/src/plugins/checkbox_options/plugin.scss +11 -0
- package/src/plugins/checkbox_options/plugin.ts +130 -0
- package/src/plugins/checkbox_options/types.ts +15 -0
- package/src/plugins/clear_button/plugin.scss +33 -0
- package/src/plugins/clear_button/plugin.ts +54 -0
- package/src/plugins/clear_button/types.ts +8 -0
- package/src/plugins/drag_drop/plugin.scss +10 -0
- package/src/plugins/drag_drop/plugin.ts +143 -0
- package/src/plugins/dropdown_header/plugin.scss +24 -0
- package/src/plugins/dropdown_header/plugin.ts +57 -0
- package/src/plugins/dropdown_header/types.ts +9 -0
- package/src/plugins/dropdown_input/plugin.scss +43 -0
- package/src/plugins/dropdown_input/plugin.ts +97 -0
- package/src/plugins/input_autogrow/plugin.scss +15 -0
- package/src/plugins/input_autogrow/plugin.ts +56 -0
- package/src/plugins/local_virtual_scroll/plugin.ts +309 -0
- package/src/plugins/local_virtual_scroll/types.ts +9 -0
- package/src/plugins/no_active_items/plugin.ts +20 -0
- package/src/plugins/no_backspace_delete/plugin.ts +30 -0
- package/src/plugins/optgroup_columns/plugin.scss +25 -0
- package/src/plugins/optgroup_columns/plugin.ts +59 -0
- package/src/plugins/remove_button/plugin.scss +70 -0
- package/src/plugins/remove_button/plugin.ts +78 -0
- package/src/plugins/remove_button/types.ts +7 -0
- package/src/plugins/restore_on_backspace/plugin.ts +44 -0
- package/src/plugins/virtual_scroll/plugin.ts +219 -0
- package/src/scss/-tom-select.bootstrap4.scss +4 -0
- package/src/scss/-tom-select.bootstrap5.scss +4 -0
- package/src/scss/_dropdown.scss +99 -0
- package/src/scss/_items.scss +114 -0
- package/src/scss/tom-select.bootstrap4.scss +218 -0
- package/src/scss/tom-select.bootstrap5.scss +270 -0
- package/src/scss/tom-select.default.scss +89 -0
- package/src/scss/tom-select.scss +179 -0
- package/src/tom-select.complete.ts +35 -0
- package/src/tom-select.popular.ts +15 -0
- package/src/tom-select.ts +2807 -0
- package/src/types/core.ts +68 -0
- package/src/types/index.ts +3 -0
- package/src/types/settings.ts +98 -0
- package/src/utils.ts +230 -0
- package/src/vanilla.ts +210 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tom Select Bootstrap 5
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// Import Bootstrap 5 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;
|
|
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-disabled: $input-disabled-bg !default;
|
|
18
|
+
$select-color-item: #efefef !default;
|
|
19
|
+
$select-color-item-border: $border-color !default;
|
|
20
|
+
$select-color-item-active: $component-active-bg !default;
|
|
21
|
+
$select-color-item-active-text: #fff !default;
|
|
22
|
+
$select-color-item-active-border: rgba(0, 0, 0, 0%) !default;
|
|
23
|
+
$select-color-optgroup: $dropdown-bg !default;
|
|
24
|
+
$select-color-optgroup-text: $dropdown-header-color !default;
|
|
25
|
+
$select-color-optgroup-border: $dropdown-divider-bg !default;
|
|
26
|
+
$select-color-dropdown: $dropdown-bg !default;
|
|
27
|
+
$select-color-dropdown-border-top: color-mix($input-border-color, $input-bg, 80%) !default;
|
|
28
|
+
$select-color-dropdown-item-active: $dropdown-link-hover-bg !default;
|
|
29
|
+
$select-color-dropdown-item-active-text: $dropdown-link-hover-color !default;
|
|
30
|
+
$select-color-dropdown-item-create-active-text: $dropdown-link-hover-color !default;
|
|
31
|
+
$select-opacity-disabled: 1 !default;
|
|
32
|
+
$select-border: 1px solid $input-border-color !default;
|
|
33
|
+
$select-border-radius: $input-border-radius !default;
|
|
34
|
+
$select-width-item-border: 0 !default;
|
|
35
|
+
$select-padding-x: $input-padding-x !default;
|
|
36
|
+
$select-padding-y: $input-padding-y !default;
|
|
37
|
+
$select-padding-dropdown-item-x: $input-btn-padding-x !default;
|
|
38
|
+
$select-padding-dropdown-item-y: 3px !default;
|
|
39
|
+
$select-padding-item-x: 5px !default;
|
|
40
|
+
$select-padding-item-y: 1px !default;
|
|
41
|
+
$select-margin-item-x: 3px !default;
|
|
42
|
+
$select-margin-item-y: 3px !default;
|
|
43
|
+
$select-arrow-size: 5px !default;
|
|
44
|
+
$select-arrow-color: $select-color-text !default;
|
|
45
|
+
$select-arrow-offset: calc(#{$select-padding-x} + 5px) !default;
|
|
46
|
+
|
|
47
|
+
@import "tom-select";
|
|
48
|
+
|
|
49
|
+
@mixin ts-form-validation-state-selector($state) {
|
|
50
|
+
$state-map: map-get($form-validation-states,$state);
|
|
51
|
+
|
|
52
|
+
.#{$select-ns}-wrapper.is-#{$state},
|
|
53
|
+
.was-validated .#{$state},
|
|
54
|
+
.was-validated :#{$state} + .#{$select-ns}-wrapper {
|
|
55
|
+
$color: map-get($state-map,'color');
|
|
56
|
+
$icon: map-get($state-map,'icon');
|
|
57
|
+
|
|
58
|
+
border-color: $color;
|
|
59
|
+
|
|
60
|
+
&:not(.single) {
|
|
61
|
+
background-image: escape-svg($icon);
|
|
62
|
+
background-position: right $input-height-inner-quarter center;
|
|
63
|
+
background-size: $input-height-inner-half $input-height-inner-half;
|
|
64
|
+
background-repeat: no-repeat;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&.single {
|
|
68
|
+
background-image: escape-svg($form-select-indicator), escape-svg($icon);
|
|
69
|
+
background-position: $form-select-bg-position, $form-select-feedback-icon-position;
|
|
70
|
+
background-size: $form-select-bg-size, $form-select-feedback-icon-size;
|
|
71
|
+
background-repeat: no-repeat;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&.focus .#{$select-ns}-control {
|
|
75
|
+
border-color: $color;
|
|
76
|
+
box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
.#{$select-ns}-dropdown,
|
|
83
|
+
.#{$select-ns}-dropdown.form-control,
|
|
84
|
+
.#{$select-ns}-dropdown.form-select {
|
|
85
|
+
height: auto;
|
|
86
|
+
padding: 0;
|
|
87
|
+
z-index: $zindex-dropdown;
|
|
88
|
+
background: $select-color-dropdown;
|
|
89
|
+
border: 1px solid $dropdown-border-color; // $dropdown-fallback-border
|
|
90
|
+
border-radius: $border-radius;
|
|
91
|
+
box-shadow: 0 6px 12px rgba(0, 0, 0, 17.5%);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.#{$select-ns}-dropdown {
|
|
95
|
+
.optgroup-header {
|
|
96
|
+
font-size: $font-size-sm;
|
|
97
|
+
line-height: $line-height-base;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.optgroup:first-child::before {
|
|
101
|
+
display: none;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.optgroup::before {
|
|
105
|
+
content: ' ';
|
|
106
|
+
display: block;
|
|
107
|
+
height: 0;
|
|
108
|
+
margin: $dropdown-divider-margin-y 0;
|
|
109
|
+
overflow: hidden;
|
|
110
|
+
border-top: 1px solid $dropdown-divider-bg;
|
|
111
|
+
margin-left: $select-padding-dropdown-item-x * -1;
|
|
112
|
+
margin-right: $select-padding-dropdown-item-x * -1;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.create {
|
|
116
|
+
padding-left: $select-padding-dropdown-item-x;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.#{$select-ns}-dropdown-content {
|
|
121
|
+
padding: 5px 0;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.#{$select-ns}-control {
|
|
125
|
+
@include box-shadow($input-box-shadow);
|
|
126
|
+
@include transition($input-transition);
|
|
127
|
+
|
|
128
|
+
display:flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
|
|
131
|
+
.focus & {
|
|
132
|
+
border-color: $input-focus-border-color;
|
|
133
|
+
outline: 0;
|
|
134
|
+
@if $enable-shadows {
|
|
135
|
+
box-shadow: $input-box-shadow, $input-focus-box-shadow;
|
|
136
|
+
} @else {
|
|
137
|
+
box-shadow: $input-focus-box-shadow;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.item {
|
|
142
|
+
display: flex;
|
|
143
|
+
align-items: center;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
input::placeholder {
|
|
147
|
+
color: var(--bs-secondary-color, #a7aeb8);
|
|
148
|
+
opacity: 1;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@include ts-form-validation-state-selector('invalid');
|
|
153
|
+
@include ts-form-validation-state-selector('valid');
|
|
154
|
+
|
|
155
|
+
.#{$select-ns}-wrapper {
|
|
156
|
+
min-height: $input-height;
|
|
157
|
+
display:flex;
|
|
158
|
+
|
|
159
|
+
.input-group-sm > &,
|
|
160
|
+
&.form-select-sm,
|
|
161
|
+
&.form-control-sm {
|
|
162
|
+
min-height: $input-height-sm;
|
|
163
|
+
|
|
164
|
+
.#{$select-ns}-control {
|
|
165
|
+
@include border-radius($input-border-radius-sm);
|
|
166
|
+
@include font-size($input-font-size-sm);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
&.has-items .#{$select-ns}-control {
|
|
170
|
+
font-size: $input-font-size-sm;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.input-group-sm > &.multi.has-items,
|
|
175
|
+
&.form-select-sm.multi.has-items,
|
|
176
|
+
&.form-control-sm.multi.has-items {
|
|
177
|
+
.#{$select-ns}-control {
|
|
178
|
+
// padding-top = ($input-height-sm - border-width - item-height) / 2;
|
|
179
|
+
// item-height = ($select-line-height * $input-font-size-sm) + ($select-padding-item-y * 2)
|
|
180
|
+
$border-and-padding: calc(($input-border-width + $select-padding-item-y) * 2);
|
|
181
|
+
$ts-select-padding-sm: calc((#{$input-height-sm} - (#{$select-line-height} * #{$input-font-size-sm}) - #{$border-and-padding})/2);
|
|
182
|
+
|
|
183
|
+
padding-top: $ts-select-padding-sm !important;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
&.multi {
|
|
188
|
+
&.has-items .#{$select-ns}-control {
|
|
189
|
+
padding-left: calc(#{$select-padding-x} - #{$select-padding-item-x});
|
|
190
|
+
|
|
191
|
+
--ts-pr-min: calc(#{$select-padding-x} - #{$select-padding-item-x});
|
|
192
|
+
}
|
|
193
|
+
.#{$select-ns}-control > div {
|
|
194
|
+
border-radius: calc(#{$select-border-radius} - 1px);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.input-group-lg > &,
|
|
199
|
+
&.form-control-lg,
|
|
200
|
+
&.form-select-lg {
|
|
201
|
+
min-height: $input-height-lg;
|
|
202
|
+
.#{$select-ns}-control{
|
|
203
|
+
@include border-radius($input-border-radius-lg);
|
|
204
|
+
@include font-size($input-font-size-lg);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
&:not(.form-control, .form-select) {
|
|
209
|
+
padding: 0;
|
|
210
|
+
border: none;
|
|
211
|
+
height: auto;
|
|
212
|
+
box-shadow: none;
|
|
213
|
+
background: none;
|
|
214
|
+
|
|
215
|
+
&.single .#{$select-ns}-control {
|
|
216
|
+
background-image: escape-svg($form-select-indicator);
|
|
217
|
+
background-repeat: no-repeat;
|
|
218
|
+
background-position: $form-select-bg-position;
|
|
219
|
+
background-size: $form-select-bg-size;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
&.form-select,
|
|
224
|
+
&.single {
|
|
225
|
+
--ts-pr-caret: #{$form-select-indicator-padding};
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
&.form-control,
|
|
229
|
+
&.form-select {
|
|
230
|
+
padding:0 !important;
|
|
231
|
+
height: auto;
|
|
232
|
+
box-shadow: none;
|
|
233
|
+
display: flex;
|
|
234
|
+
|
|
235
|
+
.#{$select-ns}-control,
|
|
236
|
+
&.single.input-active .#{$select-ns}-control {
|
|
237
|
+
border: none !important;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
&:not(.disabled) .#{$select-ns}-control,
|
|
241
|
+
&:not(.disabled).single.input-active .#{$select-ns}-control {
|
|
242
|
+
background: transparent !important; // let the background of .form-select show through
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.input-group{
|
|
248
|
+
& > .#{$select-ns}-wrapper {
|
|
249
|
+
flex-grow: 1;
|
|
250
|
+
width: 1%;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
& > .#{$select-ns}-wrapper:not(:nth-child(2)) > .#{$select-ns}-control {
|
|
254
|
+
border-top-left-radius: 0;
|
|
255
|
+
border-bottom-left-radius: 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
& > .#{$select-ns}-wrapper:not(:last-child) > .#{$select-ns}-control {
|
|
259
|
+
border-top-right-radius: 0;
|
|
260
|
+
border-bottom-right-radius: 0;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.form-select {
|
|
265
|
+
.#{$select-ns}-dropdown,
|
|
266
|
+
.#{$select-ns}-control,
|
|
267
|
+
.#{$select-ns}-control input {
|
|
268
|
+
color: $form-select-color;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
$select-color-item: #1da7ee;
|
|
2
|
+
$select-color-item-text: #fff;
|
|
3
|
+
$select-color-item-active-text: #fff;
|
|
4
|
+
$select-color-item-border: #0073bb;
|
|
5
|
+
$select-color-item-active: #92c836;
|
|
6
|
+
$select-color-item-active-border: #00578d;
|
|
7
|
+
$select-width-item-border: 1px;
|
|
8
|
+
$select-shadow-input: inset 0 1px 1px rgba(0, 0, 0, 10%) !default;
|
|
9
|
+
$select-shadow-input-focus: inset 0 1px 2px rgba(0, 0, 0, 15%) !default;
|
|
10
|
+
|
|
11
|
+
@import "tom-select";
|
|
12
|
+
@include ts-caret;
|
|
13
|
+
|
|
14
|
+
.#{$select-ns}-wrapper {
|
|
15
|
+
display:flex;
|
|
16
|
+
min-height:$select-line-height + ($select-padding-y*2) + ($select-border-width *2);
|
|
17
|
+
|
|
18
|
+
&.multi {
|
|
19
|
+
&.has-items .#{$select-ns}-control {
|
|
20
|
+
$padding-x: $select-padding-x - 3px;
|
|
21
|
+
|
|
22
|
+
padding-left: $padding-x;
|
|
23
|
+
|
|
24
|
+
--ts-pr-min: #{$padding-x};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.#{$select-ns}-control {
|
|
28
|
+
[data-value] {
|
|
29
|
+
text-shadow: 0 1px 0 rgba(0, 51, 83, 30%);
|
|
30
|
+
border-radius: 3px;
|
|
31
|
+
@include selectize-vertical-gradient(#1da7ee, #178ee9);
|
|
32
|
+
|
|
33
|
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 20%),inset 0 1px rgba(255, 255, 255, 3%);
|
|
34
|
+
|
|
35
|
+
&.active {
|
|
36
|
+
@include selectize-vertical-gradient(#008fd8, #0075cf);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&.disabled .#{$select-ns}-control [data-value] {
|
|
42
|
+
color: #999;
|
|
43
|
+
text-shadow: none;
|
|
44
|
+
background: none;
|
|
45
|
+
box-shadow: none;
|
|
46
|
+
|
|
47
|
+
&, .remove {
|
|
48
|
+
border-color: #e6e6e6;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.remove {
|
|
52
|
+
background: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&.single {
|
|
58
|
+
.#{$select-ns}-control {
|
|
59
|
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 5%), inset 0 1px 0 rgba(255, 255, 255, 80%);
|
|
60
|
+
@include selectize-vertical-gradient(#fefefe, #f2f2f2);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.#{$select-ns}-wrapper.single .#{$select-ns}-control, .#{$select-ns}-dropdown.single {
|
|
66
|
+
border-color: #b8b8b8;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.#{$select-ns}-control {
|
|
70
|
+
.dropdown-active & {
|
|
71
|
+
border-radius: $select-border-radius $select-border-radius 0 0;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.#{$select-ns}-dropdown {
|
|
76
|
+
.optgroup-header {
|
|
77
|
+
padding-top: $select-padding-dropdown-item-y + 2px;
|
|
78
|
+
font-weight: bold;
|
|
79
|
+
font-size: 0.85em;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.optgroup {
|
|
83
|
+
border-top: 1px solid $select-color-dropdown-border-top;
|
|
84
|
+
|
|
85
|
+
&:first-child {
|
|
86
|
+
border-top: 0 none;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tom-select.css (v//@@version)
|
|
3
|
+
* Copyright (c) contributors
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
|
6
|
+
* file except in compliance with the License. You may obtain a copy of the License at:
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
10
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
* ANY KIND, either express or implied. See the License for the specific language
|
|
12
|
+
* governing permissions and limitations under the License.
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// base styles
|
|
17
|
+
$select-ns: 'ts' !default;
|
|
18
|
+
$select-font-family: inherit !default;
|
|
19
|
+
$select-font-size: 13px !default;
|
|
20
|
+
$select-line-height: 18px !default;
|
|
21
|
+
$select-color-text: #303030 !default;
|
|
22
|
+
$select-color-border: #d0d0d0 !default;
|
|
23
|
+
$select-color-highlight: rgba(125, 168, 208, 20%) !default;
|
|
24
|
+
$select-color-input: #fff !default;
|
|
25
|
+
$select-color-input-full: $select-color-input !default;
|
|
26
|
+
$select-color-disabled: #fafafa !default;
|
|
27
|
+
$select-color-item: #f2f2f2 !default;
|
|
28
|
+
$select-color-item-text: $select-color-text !default;
|
|
29
|
+
$select-color-item-border: #d0d0d0 !default;
|
|
30
|
+
$select-color-item-active: #e8e8e8 !default;
|
|
31
|
+
$select-color-item-active-text: $select-color-text !default;
|
|
32
|
+
$select-color-item-active-border: #cacaca !default;
|
|
33
|
+
$select-color-dropdown: #fff !default;
|
|
34
|
+
$select-color-dropdown-border: $select-color-border !default;
|
|
35
|
+
$select-color-dropdown-border-top: #f0f0f0 !default;
|
|
36
|
+
$select-color-dropdown-item-active: #f5fafd !default;
|
|
37
|
+
$select-color-dropdown-item-active-text: #495c68 !default;
|
|
38
|
+
$select-color-dropdown-item-create-text: rgba(red($select-color-text), green($select-color-text), blue($select-color-text), 50%) !default;
|
|
39
|
+
$select-color-dropdown-item-create-active-text: $select-color-dropdown-item-active-text !default;
|
|
40
|
+
$select-color-optgroup: $select-color-dropdown !default;
|
|
41
|
+
$select-color-optgroup-text: $select-color-text !default;
|
|
42
|
+
$select-lighten-disabled-item: 30% !default;
|
|
43
|
+
$select-lighten-disabled-item-text: 30% !default;
|
|
44
|
+
$select-lighten-disabled-item-border: 30% !default;
|
|
45
|
+
$select-opacity-disabled: 0.5 !default;
|
|
46
|
+
$select-shadow-input: none !default;
|
|
47
|
+
$select-shadow-input-focus: none !default;
|
|
48
|
+
$select-border-width: 1px !default;
|
|
49
|
+
$select-border: $select-border-width solid $select-color-border !default;
|
|
50
|
+
$select-dropdown-border: 1px solid $select-color-dropdown-border !default;
|
|
51
|
+
$select-border-radius: 3px !default;
|
|
52
|
+
$select-width-item-border: 0px !default;
|
|
53
|
+
$select-max-height-dropdown: 200px !default;
|
|
54
|
+
$select-padding-x: 8px !default;
|
|
55
|
+
$select-padding-y: 8px !default;
|
|
56
|
+
$select-padding-item-x: 6px !default;
|
|
57
|
+
$select-padding-item-y: 2px !default;
|
|
58
|
+
$select-padding-dropdown-item-x: $select-padding-x !default;
|
|
59
|
+
$select-padding-dropdown-item-y: 5px !default;
|
|
60
|
+
$select-margin-item-x: 3px !default;
|
|
61
|
+
$select-margin-item-y: 3px !default;
|
|
62
|
+
$select-arrow-size: 5px !default;
|
|
63
|
+
$select-arrow-color: #808080 !default;
|
|
64
|
+
$select-arrow-offset: 15px !default;
|
|
65
|
+
$select-caret-margin: 0px 4px !default;
|
|
66
|
+
$select-caret-margin-rtl: 0px 4px 0px -2px !default;
|
|
67
|
+
$select-spinner-size: 30px !default;
|
|
68
|
+
$select-spinner-border-size: 5px !default;
|
|
69
|
+
$select-spinner-border-color: $select-color-border !default;
|
|
70
|
+
|
|
71
|
+
@import 'items';
|
|
72
|
+
@import 'dropdown';
|
|
73
|
+
|
|
74
|
+
@import "../plugins/drag_drop/plugin.scss";
|
|
75
|
+
@import "../plugins/checkbox_options/plugin.scss";
|
|
76
|
+
@import "../plugins/clear_button/plugin.scss";
|
|
77
|
+
@import "../plugins/dropdown_header/plugin.scss";
|
|
78
|
+
@import "../plugins/dropdown_input/plugin.scss";
|
|
79
|
+
@import "../plugins/input_autogrow/plugin.scss";
|
|
80
|
+
@import "../plugins/optgroup_columns/plugin.scss";
|
|
81
|
+
@import "../plugins/remove_button/plugin.scss";
|
|
82
|
+
|
|
83
|
+
:root {
|
|
84
|
+
--ts-pr-clear-button: 0px;
|
|
85
|
+
--ts-pr-caret: 0px;
|
|
86
|
+
--ts-pr-min: .75rem;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@mixin selectize-vertical-gradient($color-top, $color-bottom) {
|
|
90
|
+
background-color: color-mix($color-top, $color-bottom, 60%);
|
|
91
|
+
background-image: linear-gradient(to bottom, $color-top, $color-bottom);
|
|
92
|
+
background-repeat: repeat-x;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.#{$select-ns}-wrapper.single {
|
|
96
|
+
.#{$select-ns}-control {
|
|
97
|
+
&, input {
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.#{$select-ns}-control:not(.rtl) {
|
|
104
|
+
padding-right: max( var(--ts-pr-min), calc( var(--ts-pr-clear-button) + var(--ts-pr-caret)) ) !important;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.#{$select-ns}-control.rtl {
|
|
108
|
+
padding-left: max( var(--ts-pr-min), calc( var(--ts-pr-clear-button) + var(--ts-pr-caret)) ) !important;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@mixin ts-caret() {
|
|
112
|
+
.#{$select-ns}-wrapper.single {
|
|
113
|
+
.#{$select-ns}-control {
|
|
114
|
+
--ts-pr-caret: 2rem;
|
|
115
|
+
|
|
116
|
+
&::after {
|
|
117
|
+
content: ' ';
|
|
118
|
+
display: block;
|
|
119
|
+
position: absolute;
|
|
120
|
+
top: 50%;
|
|
121
|
+
margin-top: round(-0.5 * $select-arrow-size);
|
|
122
|
+
width: 0;
|
|
123
|
+
height: 0;
|
|
124
|
+
border-style: solid;
|
|
125
|
+
border-width: $select-arrow-size $select-arrow-size 0 $select-arrow-size;
|
|
126
|
+
border-color: $select-arrow-color transparent transparent transparent;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&:not(.rtl)::after {
|
|
130
|
+
right: $select-arrow-offset;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
&.rtl::after {
|
|
134
|
+
left: $select-arrow-offset;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&.dropdown-active .#{$select-ns}-control::after {
|
|
139
|
+
margin-top: $select-arrow-size * -0.8;
|
|
140
|
+
border-width: 0 $select-arrow-size $select-arrow-size $select-arrow-size;
|
|
141
|
+
border-color: transparent transparent $select-arrow-color transparent;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
&.input-active .#{$select-ns}-control,
|
|
145
|
+
&.input-active .#{$select-ns}-control input {
|
|
146
|
+
cursor: text;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.#{$select-ns}-wrapper {
|
|
152
|
+
position: relative;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.#{$select-ns}-dropdown,
|
|
156
|
+
.#{$select-ns}-control,
|
|
157
|
+
.#{$select-ns}-control input {
|
|
158
|
+
color: $select-color-text;
|
|
159
|
+
font-family: $select-font-family;
|
|
160
|
+
font-size: $select-font-size;
|
|
161
|
+
line-height: $select-line-height;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.#{$select-ns}-control,
|
|
165
|
+
.#{$select-ns}-wrapper.single.input-active .#{$select-ns}-control {
|
|
166
|
+
background: $select-color-input;
|
|
167
|
+
cursor: text;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.ts-hidden-accessible {
|
|
171
|
+
border: 0 !important;
|
|
172
|
+
clip: rect(0 0 0 0) !important;
|
|
173
|
+
clip-path: inset(50%) !important;
|
|
174
|
+
overflow: hidden !important;
|
|
175
|
+
padding: 0 !important;
|
|
176
|
+
position: absolute !important;
|
|
177
|
+
width: 1px !important;
|
|
178
|
+
white-space: nowrap !important;
|
|
179
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import TomSelect from './tom-select.ts';
|
|
2
|
+
|
|
3
|
+
import change_listener from './plugins/change_listener/plugin.ts';
|
|
4
|
+
import checkbox_options from './plugins/checkbox_options/plugin.ts';
|
|
5
|
+
import clear_button from './plugins/clear_button/plugin.ts';
|
|
6
|
+
import drag_drop from './plugins/drag_drop/plugin.ts';
|
|
7
|
+
import dropdown_header from './plugins/dropdown_header/plugin.ts';
|
|
8
|
+
import caret_position from './plugins/caret_position/plugin.ts';
|
|
9
|
+
import dropdown_input from './plugins/dropdown_input/plugin.ts';
|
|
10
|
+
import input_autogrow from './plugins/input_autogrow/plugin.ts';
|
|
11
|
+
import no_backspace_delete from './plugins/no_backspace_delete/plugin.ts';
|
|
12
|
+
import no_active_items from './plugins/no_active_items/plugin.ts';
|
|
13
|
+
import optgroup_columns from './plugins/optgroup_columns/plugin.ts';
|
|
14
|
+
import remove_button from './plugins/remove_button/plugin.ts';
|
|
15
|
+
import restore_on_backspace from './plugins/restore_on_backspace/plugin.ts';
|
|
16
|
+
import virtual_scroll from './plugins/virtual_scroll/plugin.ts';
|
|
17
|
+
import local_virtual_scroll from './plugins/local_virtual_scroll/plugin.ts';
|
|
18
|
+
|
|
19
|
+
TomSelect.define('change_listener', change_listener);
|
|
20
|
+
TomSelect.define('checkbox_options', checkbox_options);
|
|
21
|
+
TomSelect.define('clear_button', clear_button);
|
|
22
|
+
TomSelect.define('drag_drop', drag_drop);
|
|
23
|
+
TomSelect.define('dropdown_header', dropdown_header);
|
|
24
|
+
TomSelect.define('caret_position', caret_position);
|
|
25
|
+
TomSelect.define('dropdown_input', dropdown_input);
|
|
26
|
+
TomSelect.define('input_autogrow', input_autogrow);
|
|
27
|
+
TomSelect.define('no_backspace_delete', no_backspace_delete);
|
|
28
|
+
TomSelect.define('no_active_items', no_active_items);
|
|
29
|
+
TomSelect.define('optgroup_columns', optgroup_columns);
|
|
30
|
+
TomSelect.define('remove_button', remove_button);
|
|
31
|
+
TomSelect.define('restore_on_backspace', restore_on_backspace);
|
|
32
|
+
TomSelect.define('virtual_scroll', virtual_scroll);
|
|
33
|
+
TomSelect.define('local_virtual_scroll', local_virtual_scroll);
|
|
34
|
+
|
|
35
|
+
export default TomSelect;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import TomSelect from './tom-select.ts';
|
|
2
|
+
|
|
3
|
+
import caret_position from './plugins/caret_position/plugin.ts';
|
|
4
|
+
import dropdown_input from './plugins/dropdown_input/plugin.ts';
|
|
5
|
+
import no_backspace_delete from './plugins/no_backspace_delete/plugin.ts';
|
|
6
|
+
import remove_button from './plugins/remove_button/plugin.ts';
|
|
7
|
+
import restore_on_backspace from './plugins/restore_on_backspace/plugin.ts';
|
|
8
|
+
|
|
9
|
+
TomSelect.define('caret_position', caret_position);
|
|
10
|
+
TomSelect.define('dropdown_input', dropdown_input);
|
|
11
|
+
TomSelect.define('no_backspace_delete', no_backspace_delete);
|
|
12
|
+
TomSelect.define('remove_button', remove_button);
|
|
13
|
+
TomSelect.define('restore_on_backspace', restore_on_backspace);
|
|
14
|
+
|
|
15
|
+
export default TomSelect;
|