tom-select-rails 2.3.1 → 2.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tom-select-rails/version.rb +1 -1
- data/vendor/assets/javascripts/tom-select-rails/cjs/constants.d.ts +12 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/constants.js +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/constants.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.d.ts +13 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.js +69 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/highlight.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.d.ts +20 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.js +64 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microevent.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.d.ts +71 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.js +112 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/contrib/microplugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.d.ts +52 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js +84 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/defaults.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.d.ts +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.js +146 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/getSettings.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/package.json +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.js +66 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/caret_position/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.js +25 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/change_listener/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.js +108 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.d.ts +14 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/checkbox_options/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js +44 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.d.ts +5 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.js +117 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/drag_drop/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.js +50 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.d.ts +8 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_header/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js +77 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/dropdown_input/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.d.ts +15 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.js +47 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/input_autogrow/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.d.ts +15 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.js +22 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_active_items/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.d.ts +15 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.js +28 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/no_backspace_delete/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.js +51 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/optgroup_columns/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.js +61 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.d.ts +6 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/remove_button/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.d.ts +21 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.js +24 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/restore_on_backspace/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.js +170 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/virtual_scroll/plugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.d.ts +2 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.js +33 -5291
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.complete.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.d.ts +594 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js +2121 -4255
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.d.ts +2 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.js +15 -4665
- data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.popular.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.d.ts +49 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/core.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.d.ts +2 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.js +19 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/index.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.d.ts +79 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/types/settings.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/utils.d.ts +95 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/utils.js +124 -112
- data/vendor/assets/javascripts/tom-select-rails/cjs/utils.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.d.ts +76 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.js +190 -0
- data/vendor/assets/javascripts/tom-select-rails/cjs/vanilla.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/constants.d.ts +12 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/constants.js +13 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/constants.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.d.ts +13 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.js +64 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/highlight.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.d.ts +20 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.js +61 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microevent.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.d.ts +71 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.js +109 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/contrib/microplugin.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/defaults.d.ts +52 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js +82 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/defaults.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.d.ts +3 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.js +143 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/getSettings.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js +16 -63
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js +1 -63
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.d.ts +14 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.js +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js +1 -63
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.d.ts +5 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.js +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js +1 -63
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js +26 -88
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.d.ts +8 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.js +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js +34 -96
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.d.ts +15 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.d.ts +15 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.d.ts +15 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js +1 -66
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.d.ts +17 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js +28 -90
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.d.ts +6 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.js +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/types.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.d.ts +21 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.d.ts +16 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js +16 -63
- data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.d.ts +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.js +17 -5275
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.complete.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.d.ts +594 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js +2116 -4251
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.d.ts +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.js +8 -4658
- data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.popular.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/types/core.d.ts +49 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/core.js +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/core.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/index.d.ts +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/index.js +3 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/index.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.d.ts +79 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.js +2 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/types/settings.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/utils.d.ts +95 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/utils.js +116 -107
- data/vendor/assets/javascripts/tom-select-rails/esm/utils.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.d.ts +76 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.js +172 -0
- data/vendor/assets/javascripts/tom-select-rails/esm/vanilla.js.map +1 -0
- data/vendor/assets/javascripts/tom-select-rails/js/package.json +1 -0
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js +161 -208
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js +1 -63
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js +68 -130
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js +1 -63
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js +95 -157
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js +212 -274
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js +79 -144
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js +132 -194
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js +248 -295
- data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js +818 -1095
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js +158 -154
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js +818 -1095
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js +351 -347
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js +818 -1095
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js +336 -332
- data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js.map +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/getSettings.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/caret_position/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/change_listener/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/plugin.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/plugin.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/drag_drop/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/plugin.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_input/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/input_autogrow/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_active_items/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_backspace_delete/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/optgroup_columns/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/plugin.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/restore_on_backspace/plugin.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/plugins/virtual_scroll/plugin.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/tom-select.complete.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/tom-select.d.ts +3 -3
- data/vendor/assets/javascripts/tom-select-rails/types/tom-select.popular.d.ts +1 -1
- data/vendor/assets/javascripts/tom-select-rails/types/types/core.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/types/index.d.ts +2 -2
- data/vendor/assets/javascripts/tom-select-rails/types/types/settings.d.ts +4 -4
- data/vendor/assets/javascripts/tom-select-rails/types/utils.d.ts +16 -4
- data/vendor/assets/javascripts/tom-select-rails/types/vanilla.d.ts +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css +9 -9
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css +6 -6
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css +4 -4
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css +3 -3
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css.map +1 -1
- data/vendor/assets/stylesheets/tom-select-rails/scss/_items.scss +5 -4
- data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.scss +3 -3
- metadata +153 -7
@@ -0,0 +1,76 @@
|
|
1
|
+
/**
|
2
|
+
* Return a dom element from either a dom query string, jQuery object, a dom element or html string
|
3
|
+
* https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518
|
4
|
+
*
|
5
|
+
* param query should be {}
|
6
|
+
*/
|
7
|
+
export declare const getDom: (query: any) => HTMLElement;
|
8
|
+
export declare const isHtmlString: (arg: any) => boolean;
|
9
|
+
export declare const escapeQuery: (query: string) => string;
|
10
|
+
/**
|
11
|
+
* Dispatch an event
|
12
|
+
*
|
13
|
+
*/
|
14
|
+
export declare const triggerEvent: (dom_el: HTMLElement, event_name: string) => void;
|
15
|
+
/**
|
16
|
+
* Apply CSS rules to a dom element
|
17
|
+
*
|
18
|
+
*/
|
19
|
+
export declare const applyCSS: (dom_el: HTMLElement, css: {
|
20
|
+
[key: string]: string | number;
|
21
|
+
}) => void;
|
22
|
+
/**
|
23
|
+
* Add css classes
|
24
|
+
*
|
25
|
+
*/
|
26
|
+
export declare const addClasses: (elmts: HTMLElement | HTMLElement[], ...classes: string[] | string[][]) => void;
|
27
|
+
/**
|
28
|
+
* Remove css classes
|
29
|
+
*
|
30
|
+
*/
|
31
|
+
export declare const removeClasses: (elmts: HTMLElement | HTMLElement[], ...classes: string[] | string[][]) => void;
|
32
|
+
/**
|
33
|
+
* Return arguments
|
34
|
+
*
|
35
|
+
*/
|
36
|
+
export declare const classesArray: (args: string[] | string[][]) => string[];
|
37
|
+
/**
|
38
|
+
* Create an array from arg if it's not already an array
|
39
|
+
*
|
40
|
+
*/
|
41
|
+
export declare const castAsArray: (arg: any) => Array<any>;
|
42
|
+
/**
|
43
|
+
* Get the closest node to the evt.target matching the selector
|
44
|
+
* Stops at wrapper
|
45
|
+
*
|
46
|
+
*/
|
47
|
+
export declare const parentMatch: (target: null | HTMLElement, selector: string, wrapper?: HTMLElement) => HTMLElement | void;
|
48
|
+
/**
|
49
|
+
* Get the first or last item from an array
|
50
|
+
*
|
51
|
+
* > 0 - right (last)
|
52
|
+
* <= 0 - left (first)
|
53
|
+
*
|
54
|
+
*/
|
55
|
+
export declare const getTail: (list: Array<any> | NodeList, direction?: number) => any;
|
56
|
+
/**
|
57
|
+
* Return true if an object is empty
|
58
|
+
*
|
59
|
+
*/
|
60
|
+
export declare const isEmptyObject: (obj: object) => boolean;
|
61
|
+
/**
|
62
|
+
* Get the index of an element amongst sibling nodes of the same type
|
63
|
+
*
|
64
|
+
*/
|
65
|
+
export declare const nodeIndex: (el: null | Element, amongst?: string) => number;
|
66
|
+
/**
|
67
|
+
* Set attributes of an element
|
68
|
+
*
|
69
|
+
*/
|
70
|
+
export declare const setAttr: (el: Element, attrs: {
|
71
|
+
[key: string]: null | string | number;
|
72
|
+
}) => void;
|
73
|
+
/**
|
74
|
+
* Replace a node
|
75
|
+
*/
|
76
|
+
export declare const replaceNode: (existing: Node, replacement: Node) => void;
|
@@ -0,0 +1,190 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.replaceNode = exports.setAttr = exports.nodeIndex = exports.isEmptyObject = exports.getTail = exports.parentMatch = exports.castAsArray = exports.classesArray = exports.removeClasses = exports.addClasses = exports.applyCSS = exports.triggerEvent = exports.escapeQuery = exports.isHtmlString = exports.getDom = void 0;
|
4
|
+
const utils_ts_1 = require("./utils.js");
|
5
|
+
/**
|
6
|
+
* Return a dom element from either a dom query string, jQuery object, a dom element or html string
|
7
|
+
* https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518
|
8
|
+
*
|
9
|
+
* param query should be {}
|
10
|
+
*/
|
11
|
+
const getDom = (query) => {
|
12
|
+
if (query.jquery) {
|
13
|
+
return query[0];
|
14
|
+
}
|
15
|
+
if (query instanceof HTMLElement) {
|
16
|
+
return query;
|
17
|
+
}
|
18
|
+
if ((0, exports.isHtmlString)(query)) {
|
19
|
+
var tpl = document.createElement('template');
|
20
|
+
tpl.innerHTML = query.trim(); // Never return a text node of whitespace as the result
|
21
|
+
return tpl.content.firstChild;
|
22
|
+
}
|
23
|
+
return document.querySelector(query);
|
24
|
+
};
|
25
|
+
exports.getDom = getDom;
|
26
|
+
const isHtmlString = (arg) => {
|
27
|
+
if (typeof arg === 'string' && arg.indexOf('<') > -1) {
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
return false;
|
31
|
+
};
|
32
|
+
exports.isHtmlString = isHtmlString;
|
33
|
+
const escapeQuery = (query) => {
|
34
|
+
return query.replace(/['"\\]/g, '\\$&');
|
35
|
+
};
|
36
|
+
exports.escapeQuery = escapeQuery;
|
37
|
+
/**
|
38
|
+
* Dispatch an event
|
39
|
+
*
|
40
|
+
*/
|
41
|
+
const triggerEvent = (dom_el, event_name) => {
|
42
|
+
var event = document.createEvent('HTMLEvents');
|
43
|
+
event.initEvent(event_name, true, false);
|
44
|
+
dom_el.dispatchEvent(event);
|
45
|
+
};
|
46
|
+
exports.triggerEvent = triggerEvent;
|
47
|
+
/**
|
48
|
+
* Apply CSS rules to a dom element
|
49
|
+
*
|
50
|
+
*/
|
51
|
+
const applyCSS = (dom_el, css) => {
|
52
|
+
Object.assign(dom_el.style, css);
|
53
|
+
};
|
54
|
+
exports.applyCSS = applyCSS;
|
55
|
+
/**
|
56
|
+
* Add css classes
|
57
|
+
*
|
58
|
+
*/
|
59
|
+
const addClasses = (elmts, ...classes) => {
|
60
|
+
var norm_classes = (0, exports.classesArray)(classes);
|
61
|
+
elmts = (0, exports.castAsArray)(elmts);
|
62
|
+
elmts.map(el => {
|
63
|
+
norm_classes.map(cls => {
|
64
|
+
el.classList.add(cls);
|
65
|
+
});
|
66
|
+
});
|
67
|
+
};
|
68
|
+
exports.addClasses = addClasses;
|
69
|
+
/**
|
70
|
+
* Remove css classes
|
71
|
+
*
|
72
|
+
*/
|
73
|
+
const removeClasses = (elmts, ...classes) => {
|
74
|
+
var norm_classes = (0, exports.classesArray)(classes);
|
75
|
+
elmts = (0, exports.castAsArray)(elmts);
|
76
|
+
elmts.map(el => {
|
77
|
+
norm_classes.map(cls => {
|
78
|
+
el.classList.remove(cls);
|
79
|
+
});
|
80
|
+
});
|
81
|
+
};
|
82
|
+
exports.removeClasses = removeClasses;
|
83
|
+
/**
|
84
|
+
* Return arguments
|
85
|
+
*
|
86
|
+
*/
|
87
|
+
const classesArray = (args) => {
|
88
|
+
var classes = [];
|
89
|
+
(0, utils_ts_1.iterate)(args, (_classes) => {
|
90
|
+
if (typeof _classes === 'string') {
|
91
|
+
_classes = _classes.trim().split(/[\t\n\f\r\s]/);
|
92
|
+
}
|
93
|
+
if (Array.isArray(_classes)) {
|
94
|
+
classes = classes.concat(_classes);
|
95
|
+
}
|
96
|
+
});
|
97
|
+
return classes.filter(Boolean);
|
98
|
+
};
|
99
|
+
exports.classesArray = classesArray;
|
100
|
+
/**
|
101
|
+
* Create an array from arg if it's not already an array
|
102
|
+
*
|
103
|
+
*/
|
104
|
+
const castAsArray = (arg) => {
|
105
|
+
if (!Array.isArray(arg)) {
|
106
|
+
arg = [arg];
|
107
|
+
}
|
108
|
+
return arg;
|
109
|
+
};
|
110
|
+
exports.castAsArray = castAsArray;
|
111
|
+
/**
|
112
|
+
* Get the closest node to the evt.target matching the selector
|
113
|
+
* Stops at wrapper
|
114
|
+
*
|
115
|
+
*/
|
116
|
+
const parentMatch = (target, selector, wrapper) => {
|
117
|
+
if (wrapper && !wrapper.contains(target)) {
|
118
|
+
return;
|
119
|
+
}
|
120
|
+
while (target && target.matches) {
|
121
|
+
if (target.matches(selector)) {
|
122
|
+
return target;
|
123
|
+
}
|
124
|
+
target = target.parentNode;
|
125
|
+
}
|
126
|
+
};
|
127
|
+
exports.parentMatch = parentMatch;
|
128
|
+
/**
|
129
|
+
* Get the first or last item from an array
|
130
|
+
*
|
131
|
+
* > 0 - right (last)
|
132
|
+
* <= 0 - left (first)
|
133
|
+
*
|
134
|
+
*/
|
135
|
+
const getTail = (list, direction = 0) => {
|
136
|
+
if (direction > 0) {
|
137
|
+
return list[list.length - 1];
|
138
|
+
}
|
139
|
+
return list[0];
|
140
|
+
};
|
141
|
+
exports.getTail = getTail;
|
142
|
+
/**
|
143
|
+
* Return true if an object is empty
|
144
|
+
*
|
145
|
+
*/
|
146
|
+
const isEmptyObject = (obj) => {
|
147
|
+
return (Object.keys(obj).length === 0);
|
148
|
+
};
|
149
|
+
exports.isEmptyObject = isEmptyObject;
|
150
|
+
/**
|
151
|
+
* Get the index of an element amongst sibling nodes of the same type
|
152
|
+
*
|
153
|
+
*/
|
154
|
+
const nodeIndex = (el, amongst) => {
|
155
|
+
if (!el)
|
156
|
+
return -1;
|
157
|
+
amongst = amongst || el.nodeName;
|
158
|
+
var i = 0;
|
159
|
+
while (el = el.previousElementSibling) {
|
160
|
+
if (el.matches(amongst)) {
|
161
|
+
i++;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
return i;
|
165
|
+
};
|
166
|
+
exports.nodeIndex = nodeIndex;
|
167
|
+
/**
|
168
|
+
* Set attributes of an element
|
169
|
+
*
|
170
|
+
*/
|
171
|
+
const setAttr = (el, attrs) => {
|
172
|
+
(0, utils_ts_1.iterate)(attrs, (val, attr) => {
|
173
|
+
if (val == null) {
|
174
|
+
el.removeAttribute(attr);
|
175
|
+
}
|
176
|
+
else {
|
177
|
+
el.setAttribute(attr, '' + val);
|
178
|
+
}
|
179
|
+
});
|
180
|
+
};
|
181
|
+
exports.setAttr = setAttr;
|
182
|
+
/**
|
183
|
+
* Replace a node
|
184
|
+
*/
|
185
|
+
const replaceNode = (existing, replacement) => {
|
186
|
+
if (existing.parentNode)
|
187
|
+
existing.parentNode.replaceChild(replacement, existing);
|
188
|
+
};
|
189
|
+
exports.replaceNode = replaceNode;
|
190
|
+
//# sourceMappingURL=vanilla.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"vanilla.js","sourceRoot":"","sources":["../../src/vanilla.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare const KEY_A = 65;
|
2
|
+
export declare const KEY_RETURN = 13;
|
3
|
+
export declare const KEY_ESC = 27;
|
4
|
+
export declare const KEY_LEFT = 37;
|
5
|
+
export declare const KEY_UP = 38;
|
6
|
+
export declare const KEY_RIGHT = 39;
|
7
|
+
export declare const KEY_DOWN = 40;
|
8
|
+
export declare const KEY_BACKSPACE = 8;
|
9
|
+
export declare const KEY_DELETE = 46;
|
10
|
+
export declare const KEY_TAB = 9;
|
11
|
+
export declare const IS_MAC: boolean;
|
12
|
+
export declare const KEY_SHORTCUT: string;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export const KEY_A = 65;
|
2
|
+
export const KEY_RETURN = 13;
|
3
|
+
export const KEY_ESC = 27;
|
4
|
+
export const KEY_LEFT = 37;
|
5
|
+
export const KEY_UP = 38;
|
6
|
+
export const KEY_RIGHT = 39;
|
7
|
+
export const KEY_DOWN = 40;
|
8
|
+
export const KEY_BACKSPACE = 8;
|
9
|
+
export const KEY_DELETE = 46;
|
10
|
+
export const KEY_TAB = 9;
|
11
|
+
export const IS_MAC = typeof navigator === 'undefined' ? false : /Mac/.test(navigator.userAgent);
|
12
|
+
export const KEY_SHORTCUT = IS_MAC ? 'metaKey' : 'ctrlKey'; // ctrl key or apple key for ma
|
13
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAM,EAAE,CAAC;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAK,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAK,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAK,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAM,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAK,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAK,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAI,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAK,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAK,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAU,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACxG,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,+BAA+B"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* highlight v3 | MIT license | Johann Burkard <jb@eaio.com>
|
3
|
+
* Highlights arbitrary terms in a node.
|
4
|
+
*
|
5
|
+
* - Modified by Marshal <beatgates@gmail.com> 2011-6-24 (added regex)
|
6
|
+
* - Modified by Brian Reavis <brian@thirdroute.com> 2012-8-27 (cleanup)
|
7
|
+
*/
|
8
|
+
export declare const highlight: (element: HTMLElement, regex: string | RegExp) => void;
|
9
|
+
/**
|
10
|
+
* removeHighlight fn copied from highlight v5 and
|
11
|
+
* edited to remove with(), pass js strict mode, and use without jquery
|
12
|
+
*/
|
13
|
+
export declare const removeHighlight: (el: HTMLElement) => void;
|
@@ -0,0 +1,64 @@
|
|
1
|
+
/**
|
2
|
+
* highlight v3 | MIT license | Johann Burkard <jb@eaio.com>
|
3
|
+
* Highlights arbitrary terms in a node.
|
4
|
+
*
|
5
|
+
* - Modified by Marshal <beatgates@gmail.com> 2011-6-24 (added regex)
|
6
|
+
* - Modified by Brian Reavis <brian@thirdroute.com> 2012-8-27 (cleanup)
|
7
|
+
*/
|
8
|
+
import { replaceNode } from "../vanilla.js";
|
9
|
+
export const highlight = (element, regex) => {
|
10
|
+
if (regex === null)
|
11
|
+
return;
|
12
|
+
// convet string to regex
|
13
|
+
if (typeof regex === 'string') {
|
14
|
+
if (!regex.length)
|
15
|
+
return;
|
16
|
+
regex = new RegExp(regex, 'i');
|
17
|
+
}
|
18
|
+
// Wrap matching part of text node with highlighting <span>, e.g.
|
19
|
+
// Soccer -> <span class="highlight">Soc</span>cer for regex = /soc/i
|
20
|
+
const highlightText = (node) => {
|
21
|
+
var match = node.data.match(regex);
|
22
|
+
if (match && node.data.length > 0) {
|
23
|
+
var spannode = document.createElement('span');
|
24
|
+
spannode.className = 'highlight';
|
25
|
+
var middlebit = node.splitText(match.index);
|
26
|
+
middlebit.splitText(match[0].length);
|
27
|
+
var middleclone = middlebit.cloneNode(true);
|
28
|
+
spannode.appendChild(middleclone);
|
29
|
+
replaceNode(middlebit, spannode);
|
30
|
+
return 1;
|
31
|
+
}
|
32
|
+
return 0;
|
33
|
+
};
|
34
|
+
// Recurse element node, looking for child text nodes to highlight, unless element
|
35
|
+
// is childless, <script>, <style>, or already highlighted: <span class="hightlight">
|
36
|
+
const highlightChildren = (node) => {
|
37
|
+
if (node.nodeType === 1 && node.childNodes && !/(script|style)/i.test(node.tagName) && (node.className !== 'highlight' || node.tagName !== 'SPAN')) {
|
38
|
+
Array.from(node.childNodes).forEach(element => {
|
39
|
+
highlightRecursive(element);
|
40
|
+
});
|
41
|
+
}
|
42
|
+
};
|
43
|
+
const highlightRecursive = (node) => {
|
44
|
+
if (node.nodeType === 3) {
|
45
|
+
return highlightText(node);
|
46
|
+
}
|
47
|
+
highlightChildren(node);
|
48
|
+
return 0;
|
49
|
+
};
|
50
|
+
highlightRecursive(element);
|
51
|
+
};
|
52
|
+
/**
|
53
|
+
* removeHighlight fn copied from highlight v5 and
|
54
|
+
* edited to remove with(), pass js strict mode, and use without jquery
|
55
|
+
*/
|
56
|
+
export const removeHighlight = (el) => {
|
57
|
+
var elements = el.querySelectorAll("span.highlight");
|
58
|
+
Array.prototype.forEach.call(elements, function (el) {
|
59
|
+
var parent = el.parentNode;
|
60
|
+
parent.replaceChild(el.firstChild, el);
|
61
|
+
parent.normalize();
|
62
|
+
});
|
63
|
+
};
|
64
|
+
//# sourceMappingURL=highlight.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../../src/contrib/highlight.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAG1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAmB,EAAE,KAAmB,EAAE,EAAE;IAErE,IAAI,KAAK,KAAK,IAAI;QAAG,OAAO;IAE5B,yBAAyB;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,CAAC,MAAM;YAAG,OAAO;QAC3B,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAGD,iEAAiE;IACjE,wEAAwE;IACxE,MAAM,aAAa,GAAG,CAAE,IAAS,EAAU,EAAE;QAE5C,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;YACjC,IAAI,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YAEvD,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,WAAW,GAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE7C,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAClC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,CAAC;QACV,CAAC;QAED,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,kFAAkF;IAClF,qFAAqF;IACrF,MAAM,iBAAiB,GAAG,CAAE,IAAY,EAAQ,EAAE;QACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAE,EAAE,CAAC;YACtJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7C,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC;IAGF,MAAM,kBAAkB,GAAG,CAAE,IAAiB,EAAU,EAAE;QAEzD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,aAAa,CAAC,IAAY,CAAC,CAAC;QACpC,CAAC;QAED,iBAAiB,CAAC,IAAe,CAAC,CAAC;QAEnC,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,kBAAkB,CAAE,OAAO,CAAE,CAAC;AAC/B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE;IACjD,IAAI,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACrD,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAS,EAAc;QAC7D,IAAI,MAAM,GAAG,EAAE,CAAC,UAAkB,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/**
|
2
|
+
* MicroEvent - to make any js object an event emitter
|
3
|
+
*
|
4
|
+
* - pure javascript - server compatible, browser compatible
|
5
|
+
* - dont rely on the browser doms
|
6
|
+
* - super simple - you get it immediatly, no mistery, no magic involved
|
7
|
+
*
|
8
|
+
* @author Jerome Etienne (https://github.com/jeromeetienne)
|
9
|
+
*/
|
10
|
+
type TCallback = (...args: any) => any;
|
11
|
+
export default class MicroEvent {
|
12
|
+
_events: {
|
13
|
+
[key: string]: TCallback[];
|
14
|
+
};
|
15
|
+
constructor();
|
16
|
+
on(events: string, fct: TCallback): void;
|
17
|
+
off(events: string, fct: TCallback): void;
|
18
|
+
trigger(events: string, ...args: any): void;
|
19
|
+
}
|
20
|
+
export {};
|
@@ -0,0 +1,61 @@
|
|
1
|
+
/**
|
2
|
+
* MicroEvent - to make any js object an event emitter
|
3
|
+
*
|
4
|
+
* - pure javascript - server compatible, browser compatible
|
5
|
+
* - dont rely on the browser doms
|
6
|
+
* - super simple - you get it immediatly, no mistery, no magic involved
|
7
|
+
*
|
8
|
+
* @author Jerome Etienne (https://github.com/jeromeetienne)
|
9
|
+
*/
|
10
|
+
/**
|
11
|
+
* Execute callback for each event in space separated list of event names
|
12
|
+
*
|
13
|
+
*/
|
14
|
+
function forEvents(events, callback) {
|
15
|
+
events.split(/\s+/).forEach((event) => {
|
16
|
+
callback(event);
|
17
|
+
});
|
18
|
+
}
|
19
|
+
export default class MicroEvent {
|
20
|
+
constructor() {
|
21
|
+
this._events = {};
|
22
|
+
}
|
23
|
+
on(events, fct) {
|
24
|
+
forEvents(events, (event) => {
|
25
|
+
const event_array = this._events[event] || [];
|
26
|
+
event_array.push(fct);
|
27
|
+
this._events[event] = event_array;
|
28
|
+
});
|
29
|
+
}
|
30
|
+
off(events, fct) {
|
31
|
+
var n = arguments.length;
|
32
|
+
if (n === 0) {
|
33
|
+
this._events = {};
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
forEvents(events, (event) => {
|
37
|
+
if (n === 1) {
|
38
|
+
delete this._events[event];
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
const event_array = this._events[event];
|
42
|
+
if (event_array === undefined)
|
43
|
+
return;
|
44
|
+
event_array.splice(event_array.indexOf(fct), 1);
|
45
|
+
this._events[event] = event_array;
|
46
|
+
});
|
47
|
+
}
|
48
|
+
trigger(events, ...args) {
|
49
|
+
var self = this;
|
50
|
+
forEvents(events, (event) => {
|
51
|
+
const event_array = self._events[event];
|
52
|
+
if (event_array === undefined)
|
53
|
+
return;
|
54
|
+
event_array.forEach(fct => {
|
55
|
+
fct.apply(self, args);
|
56
|
+
});
|
57
|
+
});
|
58
|
+
}
|
59
|
+
}
|
60
|
+
;
|
61
|
+
//# sourceMappingURL=microevent.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"microevent.js","sourceRoot":"","sources":["../../../src/contrib/microevent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;GAGG;AACH,SAAS,SAAS,CAAC,MAAa,EAAC,QAA4B;IAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAI9B;QACC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,EAAE,CAAC,MAAa,EAAE,GAAa;QAC9B,SAAS,CAAC,MAAM,EAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QACnC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,MAAa,EAAE,GAAa;QAC/B,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,SAAS,CAAC,MAAM,EAAC,CAAC,KAAK,EAAE,EAAE;YAE1B,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAM;YACP,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,WAAW,KAAK,SAAS;gBAAG,OAAO;YAEvC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QACnC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAa,EAAE,GAAG,IAAQ;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,SAAS,CAAC,MAAM,EAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,WAAW,KAAK,SAAS;gBAAG,OAAO;YACvC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzB,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QAEJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAAA,CAAC"}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/**
|
2
|
+
* microplugin.js
|
3
|
+
* Copyright (c) 2013 Brian Reavis & 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
|
+
* @author Brian Reavis <brian@thirdroute.com>
|
15
|
+
*/
|
16
|
+
type TSettings = {
|
17
|
+
[key: string]: any;
|
18
|
+
};
|
19
|
+
type TPlugins = {
|
20
|
+
names: string[];
|
21
|
+
settings: TSettings;
|
22
|
+
requested: {
|
23
|
+
[key: string]: boolean;
|
24
|
+
};
|
25
|
+
loaded: {
|
26
|
+
[key: string]: any;
|
27
|
+
};
|
28
|
+
};
|
29
|
+
export type TPluginItem = {
|
30
|
+
name: string;
|
31
|
+
options: {};
|
32
|
+
};
|
33
|
+
export type TPluginHash = {
|
34
|
+
[key: string]: {};
|
35
|
+
};
|
36
|
+
export default function MicroPlugin(Interface: any): {
|
37
|
+
new (): {
|
38
|
+
[x: string]: any;
|
39
|
+
plugins: TPlugins;
|
40
|
+
/**
|
41
|
+
* Initializes the listed plugins (with options).
|
42
|
+
* Acceptable formats:
|
43
|
+
*
|
44
|
+
* List (without options):
|
45
|
+
* ['a', 'b', 'c']
|
46
|
+
*
|
47
|
+
* List (with options):
|
48
|
+
* [{'name': 'a', options: {}}, {'name': 'b', options: {}}]
|
49
|
+
*
|
50
|
+
* Hash (with options):
|
51
|
+
* {'a': { ... }, 'b': { ... }, 'c': { ... }}
|
52
|
+
*
|
53
|
+
* @param {array|object} plugins
|
54
|
+
*/
|
55
|
+
initializePlugins(plugins: string[] | TPluginItem[] | TPluginHash): void;
|
56
|
+
loadPlugin(name: string): void;
|
57
|
+
/**
|
58
|
+
* Initializes a plugin.
|
59
|
+
*
|
60
|
+
*/
|
61
|
+
require(name: string): any;
|
62
|
+
};
|
63
|
+
[x: string]: any;
|
64
|
+
/**
|
65
|
+
* Registers a plugin.
|
66
|
+
*
|
67
|
+
* @param {function} fn
|
68
|
+
*/
|
69
|
+
define(name: string, fn: (this: any, settings: TSettings) => any): void;
|
70
|
+
};
|
71
|
+
export {};
|
@@ -0,0 +1,109 @@
|
|
1
|
+
/**
|
2
|
+
* microplugin.js
|
3
|
+
* Copyright (c) 2013 Brian Reavis & 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
|
+
* @author Brian Reavis <brian@thirdroute.com>
|
15
|
+
*/
|
16
|
+
export default function MicroPlugin(Interface) {
|
17
|
+
Interface.plugins = {};
|
18
|
+
return class extends Interface {
|
19
|
+
constructor() {
|
20
|
+
super(...arguments);
|
21
|
+
this.plugins = {
|
22
|
+
names: [],
|
23
|
+
settings: {},
|
24
|
+
requested: {},
|
25
|
+
loaded: {}
|
26
|
+
};
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Registers a plugin.
|
30
|
+
*
|
31
|
+
* @param {function} fn
|
32
|
+
*/
|
33
|
+
static define(name, fn) {
|
34
|
+
Interface.plugins[name] = {
|
35
|
+
'name': name,
|
36
|
+
'fn': fn
|
37
|
+
};
|
38
|
+
}
|
39
|
+
/**
|
40
|
+
* Initializes the listed plugins (with options).
|
41
|
+
* Acceptable formats:
|
42
|
+
*
|
43
|
+
* List (without options):
|
44
|
+
* ['a', 'b', 'c']
|
45
|
+
*
|
46
|
+
* List (with options):
|
47
|
+
* [{'name': 'a', options: {}}, {'name': 'b', options: {}}]
|
48
|
+
*
|
49
|
+
* Hash (with options):
|
50
|
+
* {'a': { ... }, 'b': { ... }, 'c': { ... }}
|
51
|
+
*
|
52
|
+
* @param {array|object} plugins
|
53
|
+
*/
|
54
|
+
initializePlugins(plugins) {
|
55
|
+
var key, name;
|
56
|
+
const self = this;
|
57
|
+
const queue = [];
|
58
|
+
if (Array.isArray(plugins)) {
|
59
|
+
plugins.forEach((plugin) => {
|
60
|
+
if (typeof plugin === 'string') {
|
61
|
+
queue.push(plugin);
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
self.plugins.settings[plugin.name] = plugin.options;
|
65
|
+
queue.push(plugin.name);
|
66
|
+
}
|
67
|
+
});
|
68
|
+
}
|
69
|
+
else if (plugins) {
|
70
|
+
for (key in plugins) {
|
71
|
+
if (plugins.hasOwnProperty(key)) {
|
72
|
+
self.plugins.settings[key] = plugins[key];
|
73
|
+
queue.push(key);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
while (name = queue.shift()) {
|
78
|
+
self.require(name);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
loadPlugin(name) {
|
82
|
+
var self = this;
|
83
|
+
var plugins = self.plugins;
|
84
|
+
var plugin = Interface.plugins[name];
|
85
|
+
if (!Interface.plugins.hasOwnProperty(name)) {
|
86
|
+
throw new Error('Unable to find "' + name + '" plugin');
|
87
|
+
}
|
88
|
+
plugins.requested[name] = true;
|
89
|
+
plugins.loaded[name] = plugin.fn.apply(self, [self.plugins.settings[name] || {}]);
|
90
|
+
plugins.names.push(name);
|
91
|
+
}
|
92
|
+
/**
|
93
|
+
* Initializes a plugin.
|
94
|
+
*
|
95
|
+
*/
|
96
|
+
require(name) {
|
97
|
+
var self = this;
|
98
|
+
var plugins = self.plugins;
|
99
|
+
if (!self.plugins.loaded.hasOwnProperty(name)) {
|
100
|
+
if (plugins.requested[name]) {
|
101
|
+
throw new Error('Plugin has circular dependency ("' + name + '")');
|
102
|
+
}
|
103
|
+
self.loadPlugin(name);
|
104
|
+
}
|
105
|
+
return plugins.loaded[name];
|
106
|
+
}
|
107
|
+
};
|
108
|
+
}
|
109
|
+
//# sourceMappingURL=microplugin.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"microplugin.js","sourceRoot":"","sources":["../../../src/contrib/microplugin.ts"],"names":[],"mappings":"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"}
|