tom-select-rails 2.4.3 → 2.4.5

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tom-select-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js +3 -1
  4. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/plugin.js.map +1 -1
  5. data/vendor/assets/javascripts/tom-select-rails/cjs/plugins/clear_button/types.d.ts +2 -0
  6. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js +17 -10
  7. data/vendor/assets/javascripts/tom-select-rails/cjs/tom-select.js.map +1 -1
  8. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js +1 -1
  9. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/caret_position/plugin.js.map +1 -1
  10. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js +1 -1
  11. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/change_listener/plugin.js.map +1 -1
  12. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js +1 -1
  13. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/checkbox_options/plugin.js.map +1 -1
  14. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js +4 -2
  15. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/plugin.js.map +1 -1
  16. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/clear_button/types.d.ts +2 -0
  17. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js +1 -1
  18. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/drag_drop/plugin.js.map +1 -1
  19. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js +1 -1
  20. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_header/plugin.js.map +1 -1
  21. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js +1 -1
  22. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/dropdown_input/plugin.js.map +1 -1
  23. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js +1 -1
  24. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/input_autogrow/plugin.js.map +1 -1
  25. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js +1 -1
  26. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_active_items/plugin.js.map +1 -1
  27. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js +1 -1
  28. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/no_backspace_delete/plugin.js.map +1 -1
  29. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js +1 -1
  30. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/optgroup_columns/plugin.js.map +1 -1
  31. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js +1 -1
  32. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/remove_button/plugin.js.map +1 -1
  33. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js +1 -1
  34. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/restore_on_backspace/plugin.js.map +1 -1
  35. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js +1 -1
  36. data/vendor/assets/javascripts/tom-select-rails/esm/plugins/virtual_scroll/plugin.js.map +1 -1
  37. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js +17 -10
  38. data/vendor/assets/javascripts/tom-select-rails/esm/tom-select.js.map +1 -1
  39. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js +1 -1
  40. data/vendor/assets/javascripts/tom-select-rails/js/plugins/caret_position.js.map +1 -1
  41. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js +1 -1
  42. data/vendor/assets/javascripts/tom-select-rails/js/plugins/change_listener.js.map +1 -1
  43. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js +1 -1
  44. data/vendor/assets/javascripts/tom-select-rails/js/plugins/checkbox_options.js.map +1 -1
  45. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js +4 -2
  46. data/vendor/assets/javascripts/tom-select-rails/js/plugins/clear_button.js.map +1 -1
  47. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js +1 -1
  48. data/vendor/assets/javascripts/tom-select-rails/js/plugins/drag_drop.js.map +1 -1
  49. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js +1 -1
  50. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_header.js.map +1 -1
  51. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js +1 -1
  52. data/vendor/assets/javascripts/tom-select-rails/js/plugins/dropdown_input.js.map +1 -1
  53. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js +1 -1
  54. data/vendor/assets/javascripts/tom-select-rails/js/plugins/input_autogrow.js.map +1 -1
  55. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js +1 -1
  56. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_active_items.js.map +1 -1
  57. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js +1 -1
  58. data/vendor/assets/javascripts/tom-select-rails/js/plugins/no_backspace_delete.js.map +1 -1
  59. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js +1 -1
  60. data/vendor/assets/javascripts/tom-select-rails/js/plugins/optgroup_columns.js.map +1 -1
  61. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js +1 -1
  62. data/vendor/assets/javascripts/tom-select-rails/js/plugins/remove_button.js.map +1 -1
  63. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js +1 -1
  64. data/vendor/assets/javascripts/tom-select-rails/js/plugins/restore_on_backspace.js.map +1 -1
  65. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js +1 -1
  66. data/vendor/assets/javascripts/tom-select-rails/js/plugins/virtual_scroll.js.map +1 -1
  67. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js +18 -12
  68. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.js.map +1 -1
  69. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js +69 -70
  70. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.base.min.js.map +1 -1
  71. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js +21 -13
  72. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.js.map +1 -1
  73. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js +109 -110
  74. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.complete.min.js.map +1 -1
  75. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js +18 -12
  76. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.js.map +1 -1
  77. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js +80 -81
  78. data/vendor/assets/javascripts/tom-select-rails/js/tom-select.popular.min.js.map +1 -1
  79. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css +8 -5
  80. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.css.map +1 -1
  81. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css +1 -1
  82. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap4.min.css.map +1 -1
  83. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css +10 -7
  84. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.css.map +1 -1
  85. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css +1 -1
  86. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.bootstrap5.min.css.map +1 -1
  87. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css +8 -7
  88. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.css.map +1 -1
  89. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css +5 -4
  90. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.css.map +1 -1
  91. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css +1 -1
  92. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.default.min.css.map +1 -1
  93. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css +1 -1
  94. data/vendor/assets/stylesheets/tom-select-rails/css/tom-select.min.css.map +1 -1
  95. data/vendor/assets/stylesheets/tom-select-rails/scss/_items.scss +1 -0
  96. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.default.scss +1 -1
  97. data/vendor/assets/stylesheets/tom-select-rails/scss/tom-select.scss +4 -4
  98. metadata +3 -35
  99. data/vendor/assets/javascripts/tom-select-rails/types/constants.d.ts +0 -12
  100. data/vendor/assets/javascripts/tom-select-rails/types/contrib/highlight.d.ts +0 -13
  101. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microevent.d.ts +0 -20
  102. data/vendor/assets/javascripts/tom-select-rails/types/contrib/microplugin.d.ts +0 -71
  103. data/vendor/assets/javascripts/tom-select-rails/types/defaults.d.ts +0 -52
  104. data/vendor/assets/javascripts/tom-select-rails/types/getSettings.d.ts +0 -3
  105. data/vendor/assets/javascripts/tom-select-rails/types/plugins/caret_position/plugin.d.ts +0 -16
  106. data/vendor/assets/javascripts/tom-select-rails/types/plugins/change_listener/plugin.d.ts +0 -16
  107. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/plugin.d.ts +0 -17
  108. data/vendor/assets/javascripts/tom-select-rails/types/plugins/checkbox_options/types.d.ts +0 -14
  109. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/plugin.d.ts +0 -17
  110. data/vendor/assets/javascripts/tom-select-rails/types/plugins/clear_button/types.d.ts +0 -5
  111. data/vendor/assets/javascripts/tom-select-rails/types/plugins/drag_drop/plugin.d.ts +0 -16
  112. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/plugin.d.ts +0 -17
  113. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_header/types.d.ts +0 -8
  114. data/vendor/assets/javascripts/tom-select-rails/types/plugins/dropdown_input/plugin.d.ts +0 -16
  115. data/vendor/assets/javascripts/tom-select-rails/types/plugins/input_autogrow/plugin.d.ts +0 -15
  116. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_active_items/plugin.d.ts +0 -15
  117. data/vendor/assets/javascripts/tom-select-rails/types/plugins/no_backspace_delete/plugin.d.ts +0 -15
  118. data/vendor/assets/javascripts/tom-select-rails/types/plugins/optgroup_columns/plugin.d.ts +0 -16
  119. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/plugin.d.ts +0 -17
  120. data/vendor/assets/javascripts/tom-select-rails/types/plugins/remove_button/types.d.ts +0 -6
  121. data/vendor/assets/javascripts/tom-select-rails/types/plugins/restore_on_backspace/plugin.d.ts +0 -21
  122. data/vendor/assets/javascripts/tom-select-rails/types/plugins/virtual_scroll/plugin.d.ts +0 -16
  123. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.complete.d.ts +0 -2
  124. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.d.ts +0 -594
  125. data/vendor/assets/javascripts/tom-select-rails/types/tom-select.popular.d.ts +0 -2
  126. data/vendor/assets/javascripts/tom-select-rails/types/types/core.d.ts +0 -49
  127. data/vendor/assets/javascripts/tom-select-rails/types/types/index.d.ts +0 -2
  128. data/vendor/assets/javascripts/tom-select-rails/types/types/settings.d.ts +0 -79
  129. data/vendor/assets/javascripts/tom-select-rails/types/utils.d.ts +0 -95
  130. data/vendor/assets/javascripts/tom-select-rails/types/vanilla.d.ts +0 -76
@@ -1 +1 @@
1
- {"version":3,"file":"tom-select.js","sourceRoot":"","sources":["../../src/tom-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tom-select.js","sourceRoot":"","sources":["../../src/tom-select.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tom Select v2.4.3
2
+ * Tom Select v2.4.5
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"caret_position.js","sources":["../../../src/utils.ts","../../../src/vanilla.ts","../../../src/plugins/caret_position/plugin.ts"],"sourcesContent":["\nimport type TomSelect from './tom-select.ts';\nimport { TomLoadCallback } from './types/index.ts';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * use setTimeout if timeout > 0 \n */\nexport const timeout = (fn:()=>void,timeout:number): number | null => {\n\tif( timeout > 0 ){\n\t\treturn window.setTimeout(fn,timeout);\n\t}\n\n\tfn.call(null);\n\treturn null;\n}\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n * Note: \"selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password\"\n * \t- https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n\n/**\n * Iterates over arrays and hashes.\n *\n * ```\n * iterate(this.items, function(item, id) {\n * // invoked for each item\n * });\n * ```\n *\n */\nexport const iterate = (object:[]|{[key:string]:any}, callback:(value:any,key:any)=>any) => {\n\n\tif ( Array.isArray(object)) {\n\t\tobject.forEach(callback);\n\n\t}else{\n\n\t\tfor (var key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\tcallback(object[key], key);\n\t\t\t}\n\t\t}\n\t}\n};\n","\nimport { iterate } from './utils.ts';\n\n/**\n * Return a dom element from either a dom query string, jQuery object, a dom element or html string\n * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518\n *\n * param query should be {}\n */\nexport const getDom = ( query:any ):HTMLElement => {\n\n\tif( query.jquery ){\n\t\treturn query[0];\n\t}\n\n\tif( query instanceof HTMLElement ){\n\t\treturn query;\n\t}\n\n\tif( isHtmlString(query) ){\n\t\tvar tpl = document.createElement('template');\n\t\ttpl.innerHTML = query.trim(); // Never return a text node of whitespace as the result\n\t\treturn tpl.content.firstChild as HTMLElement;\n\t}\n\n\treturn document.querySelector(query);\n};\n\nexport const isHtmlString = (arg:any): boolean => {\n\tif( typeof arg === 'string' && arg.indexOf('<') > -1 ){\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport const escapeQuery = (query:string):string => {\n\treturn query.replace(/['\"\\\\]/g, '\\\\$&');\n}\n\n/**\n * Dispatch an event\n *\n */\nexport const triggerEvent = ( dom_el:HTMLElement, event_name:string ):void => {\n\tvar event = document.createEvent('HTMLEvents');\n\tevent.initEvent(event_name, true, false);\n\tdom_el.dispatchEvent(event)\n};\n\n/**\n * Apply CSS rules to a dom element\n *\n */\nexport const applyCSS = ( dom_el:HTMLElement, css:{ [key: string]: string|number }):void => {\n\tObject.assign(dom_el.style, css);\n}\n\n\n/**\n * Add css classes\n *\n */\nexport const addClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n\tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map( cls => {\n\t\t\tel.classList.add( cls );\n\t\t});\n\t});\n}\n\n/**\n * Remove css classes\n *\n */\n export const removeClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n \tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map(cls => {\n\t \t\tel.classList.remove( cls );\n\t\t});\n \t});\n }\n\n\n/**\n * Return arguments\n *\n */\nexport const classesArray = (args:string[]|string[][]):string[] => {\n\tvar classes:string[] = [];\n\titerate( args, (_classes) =>{\n\t\tif( typeof _classes === 'string' ){\n\t\t\t_classes = _classes.trim().split(/[\\t\\n\\f\\r\\s]/);\n\t\t}\n\t\tif( Array.isArray(_classes) ){\n\t\t\tclasses = classes.concat(_classes);\n\t\t}\n\t});\n\n\treturn classes.filter(Boolean);\n}\n\n\n/**\n * Create an array from arg if it's not already an array\n *\n */\nexport const castAsArray = (arg:any):Array<any> => {\n\tif( !Array.isArray(arg) ){\n \t\targ = [arg];\n \t}\n\treturn arg;\n}\n\n\n/**\n * Get the closest node to the evt.target matching the selector\n * Stops at wrapper\n *\n */\nexport const parentMatch = ( target:null|HTMLElement, selector:string, wrapper?:HTMLElement ):HTMLElement|void => {\n\n\tif( wrapper && !wrapper.contains(target) ){\n\t\treturn;\n\t}\n\n\twhile( target && target.matches ){\n\n\t\tif( target.matches(selector) ){\n\t\t\treturn target;\n\t\t}\n\n\t\ttarget = target.parentNode as HTMLElement;\n\t}\n}\n\n\n/**\n * Get the first or last item from an array\n *\n * > 0 - right (last)\n * <= 0 - left (first)\n *\n */\nexport const getTail = ( list:Array<any>|NodeList, direction:number=0 ):any => {\n\n\tif( direction > 0 ){\n\t\treturn list[list.length-1];\n\t}\n\n\treturn list[0];\n}\n\n/**\n * Return true if an object is empty\n *\n */\nexport const isEmptyObject = (obj:object):boolean => {\n\treturn (Object.keys(obj).length === 0);\n}\n\n\n/**\n * Get the index of an element amongst sibling nodes of the same type\n *\n */\nexport const nodeIndex = ( el:null|Element, amongst?:string ):number => {\n\tif (!el) return -1;\n\n\tamongst = amongst || el.nodeName;\n\n\tvar i = 0;\n\twhile( el = el.previousElementSibling ){\n\n\t\tif( el.matches(amongst) ){\n\t\t\ti++;\n\t\t}\n\t}\n\treturn i;\n}\n\n\n/**\n * Set attributes of an element\n *\n */\nexport const setAttr = (el:Element,attrs:{ [key: string]: null|string|number }) => {\n\titerate( attrs,(val,attr) => {\n\t\tif( val == null ){\n\t\t\tel.removeAttribute(attr as string);\n\t\t}else{\n\t\t\tel.setAttribute(attr as string, ''+val);\n\t\t}\n\t});\n}\n\n\n/**\n * Replace a node\n */\nexport const replaceNode = ( existing:Node, replacement:Node ) => {\n\tif( existing.parentNode ) existing.parentNode.replaceChild(replacement, existing);\n}\n","/**\n * Plugin: \"dropdown_input\" (Tom Select)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport type TomSelect from '../../tom-select.ts';\nimport { nodeIndex, removeClasses } from '../../vanilla.ts';\n\n\nexport default function(this:TomSelect) {\n\tvar self = this;\n\n\t/**\n\t * Moves the caret to the specified index.\n\t *\n\t * The input must be moved by leaving it in place and moving the\n\t * siblings, due to the fact that focus cannot be restored once lost\n\t * on mobile webkit devices\n\t *\n\t */\n\tself.hook('instead','setCaret',(new_pos:number) => {\n\n\t\tif( self.settings.mode === 'single' || !self.control.contains(self.control_input) ) {\n\t\t\tnew_pos = self.items.length;\n\t\t} else {\n\t\t\tnew_pos = Math.max(0, Math.min(self.items.length, new_pos));\n\n\t\t\tif( new_pos != self.caretPos && !self.isPending ){\n\n\t\t\t\tself.controlChildren().forEach((child,j) => {\n\t\t\t\t\tif( j < new_pos ){\n\t\t\t\t\t\tself.control_input.insertAdjacentElement('beforebegin', child );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.control.appendChild( child );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tself.caretPos = new_pos;\n\t});\n\n\tself.hook('instead','moveCaret',(direction:number) => {\n\n\t\tif( !self.isFocused ) return;\n\n\t\t// move caret before or after selected items\n\t\tconst last_active\t\t= self.getLastActive(direction);\n\t\tif( last_active ){\n\t\t\tconst idx = nodeIndex(last_active);\n\t\t\tself.setCaret(direction > 0 ? idx + 1: idx);\n\t\t\tself.setActiveItem();\n\t\t\tremoveClasses(last_active as HTMLElement,'last-active');\n\n\t\t// move caret left or right of current position\n\t\t}else{\n\t\t\tself.setCaret(self.caretPos + direction);\n\n\t\t}\n\n\t});\n\n};\n"],"names":["iterate","object","callback","Array","isArray","forEach","key","hasOwnProperty","removeClasses","elmts","classes","norm_classes","classesArray","castAsArray","map","el","cls","classList","remove","args","_classes","trim","split","concat","filter","Boolean","arg","nodeIndex","amongst","nodeName","i","previousElementSibling","matches","self","hook","new_pos","settings","mode","control","contains","control_input","items","length","Math","max","min","caretPos","isPending","controlChildren","child","j","insertAdjacentElement","appendChild","direction","isFocused","last_active","getLastActive","idx","setCaret","setActiveItem"],"mappings":"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"}
1
+ {"version":3,"file":"caret_position.js","sources":["../../../src/utils.ts","../../../src/vanilla.ts","../../../src/plugins/caret_position/plugin.ts"],"sourcesContent":["\nimport type TomSelect from './tom-select.ts';\nimport { TomLoadCallback } from './types/index.ts';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * use setTimeout if timeout > 0 \n */\nexport const timeout = (fn:()=>void,timeout:number): number | null => {\n\tif( timeout > 0 ){\n\t\treturn window.setTimeout(fn,timeout);\n\t}\n\n\tfn.call(null);\n\treturn null;\n}\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n * Note: \"selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password\"\n * \t- https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n\n/**\n * Iterates over arrays and hashes.\n *\n * ```\n * iterate(this.items, function(item, id) {\n * // invoked for each item\n * });\n * ```\n *\n */\nexport const iterate = (object:[]|{[key:string]:any}, callback:(value:any,key:any)=>any) => {\n\n\tif ( Array.isArray(object)) {\n\t\tobject.forEach(callback);\n\n\t}else{\n\n\t\tfor (var key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\tcallback(object[key], key);\n\t\t\t}\n\t\t}\n\t}\n};\n","\nimport { iterate } from './utils.ts';\n\n/**\n * Return a dom element from either a dom query string, jQuery object, a dom element or html string\n * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518\n *\n * param query should be {}\n */\nexport const getDom = ( query:any ):HTMLElement => {\n\n\tif( query.jquery ){\n\t\treturn query[0];\n\t}\n\n\tif( query instanceof HTMLElement ){\n\t\treturn query;\n\t}\n\n\tif( isHtmlString(query) ){\n\t\tvar tpl = document.createElement('template');\n\t\ttpl.innerHTML = query.trim(); // Never return a text node of whitespace as the result\n\t\treturn tpl.content.firstChild as HTMLElement;\n\t}\n\n\treturn document.querySelector(query);\n};\n\nexport const isHtmlString = (arg:any): boolean => {\n\tif( typeof arg === 'string' && arg.indexOf('<') > -1 ){\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport const escapeQuery = (query:string):string => {\n\treturn query.replace(/['\"\\\\]/g, '\\\\$&');\n}\n\n/**\n * Dispatch an event\n *\n */\nexport const triggerEvent = ( dom_el:HTMLElement, event_name:string ):void => {\n\tvar event = document.createEvent('HTMLEvents');\n\tevent.initEvent(event_name, true, false);\n\tdom_el.dispatchEvent(event)\n};\n\n/**\n * Apply CSS rules to a dom element\n *\n */\nexport const applyCSS = ( dom_el:HTMLElement, css:{ [key: string]: string|number }):void => {\n\tObject.assign(dom_el.style, css);\n}\n\n\n/**\n * Add css classes\n *\n */\nexport const addClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n\tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map( cls => {\n\t\t\tel.classList.add( cls );\n\t\t});\n\t});\n}\n\n/**\n * Remove css classes\n *\n */\n export const removeClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n \tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map(cls => {\n\t \t\tel.classList.remove( cls );\n\t\t});\n \t});\n }\n\n\n/**\n * Return arguments\n *\n */\nexport const classesArray = (args:string[]|string[][]):string[] => {\n\tvar classes:string[] = [];\n\titerate( args, (_classes) =>{\n\t\tif( typeof _classes === 'string' ){\n\t\t\t_classes = _classes.trim().split(/[\\t\\n\\f\\r\\s]/);\n\t\t}\n\t\tif( Array.isArray(_classes) ){\n\t\t\tclasses = classes.concat(_classes);\n\t\t}\n\t});\n\n\treturn classes.filter(Boolean);\n}\n\n\n/**\n * Create an array from arg if it's not already an array\n *\n */\nexport const castAsArray = (arg:any):Array<any> => {\n\tif( !Array.isArray(arg) ){\n \t\targ = [arg];\n \t}\n\treturn arg;\n}\n\n\n/**\n * Get the closest node to the evt.target matching the selector\n * Stops at wrapper\n *\n */\nexport const parentMatch = ( target:null|HTMLElement, selector:string, wrapper?:HTMLElement ):HTMLElement|void => {\n\n\tif( wrapper && !wrapper.contains(target) ){\n\t\treturn;\n\t}\n\n\twhile( target && target.matches ){\n\n\t\tif( target.matches(selector) ){\n\t\t\treturn target;\n\t\t}\n\n\t\ttarget = target.parentNode as HTMLElement;\n\t}\n}\n\n\n/**\n * Get the first or last item from an array\n *\n * > 0 - right (last)\n * <= 0 - left (first)\n *\n */\nexport const getTail = ( list:Array<any>|NodeList, direction:number=0 ):any => {\n\n\tif( direction > 0 ){\n\t\treturn list[list.length-1];\n\t}\n\n\treturn list[0];\n}\n\n/**\n * Return true if an object is empty\n *\n */\nexport const isEmptyObject = (obj:object):boolean => {\n\treturn (Object.keys(obj).length === 0);\n}\n\n\n/**\n * Get the index of an element amongst sibling nodes of the same type\n *\n */\nexport const nodeIndex = ( el:null|Element, amongst?:string ):number => {\n\tif (!el) return -1;\n\n\tamongst = amongst || el.nodeName;\n\n\tvar i = 0;\n\twhile( el = el.previousElementSibling ){\n\n\t\tif( el.matches(amongst) ){\n\t\t\ti++;\n\t\t}\n\t}\n\treturn i;\n}\n\n\n/**\n * Set attributes of an element\n *\n */\nexport const setAttr = (el:Element,attrs:{ [key: string]: null|string|number }) => {\n\titerate( attrs,(val,attr) => {\n\t\tif( val == null ){\n\t\t\tel.removeAttribute(attr as string);\n\t\t}else{\n\t\t\tel.setAttribute(attr as string, ''+val);\n\t\t}\n\t});\n}\n\n\n/**\n * Replace a node\n */\nexport const replaceNode = ( existing:Node, replacement:Node ) => {\n\tif( existing.parentNode ) existing.parentNode.replaceChild(replacement, existing);\n}\n","/**\n * Plugin: \"dropdown_input\" (Tom Select)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport type TomSelect from '../../tom-select.ts';\nimport { nodeIndex, removeClasses } from '../../vanilla.ts';\n\n\nexport default function(this:TomSelect) {\n\tvar self = this;\n\n\t/**\n\t * Moves the caret to the specified index.\n\t *\n\t * The input must be moved by leaving it in place and moving the\n\t * siblings, due to the fact that focus cannot be restored once lost\n\t * on mobile webkit devices\n\t *\n\t */\n\tself.hook('instead','setCaret',(new_pos:number) => {\n\n\t\tif( self.settings.mode === 'single' || !self.control.contains(self.control_input) ) {\n\t\t\tnew_pos = self.items.length;\n\t\t} else {\n\t\t\tnew_pos = Math.max(0, Math.min(self.items.length, new_pos));\n\n\t\t\tif( new_pos != self.caretPos && !self.isPending ){\n\n\t\t\t\tself.controlChildren().forEach((child,j) => {\n\t\t\t\t\tif( j < new_pos ){\n\t\t\t\t\t\tself.control_input.insertAdjacentElement('beforebegin', child );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.control.appendChild( child );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tself.caretPos = new_pos;\n\t});\n\n\tself.hook('instead','moveCaret',(direction:number) => {\n\n\t\tif( !self.isFocused ) return;\n\n\t\t// move caret before or after selected items\n\t\tconst last_active\t\t= self.getLastActive(direction);\n\t\tif( last_active ){\n\t\t\tconst idx = nodeIndex(last_active);\n\t\t\tself.setCaret(direction > 0 ? idx + 1: idx);\n\t\t\tself.setActiveItem();\n\t\t\tremoveClasses(last_active as HTMLElement,'last-active');\n\n\t\t// move caret left or right of current position\n\t\t}else{\n\t\t\tself.setCaret(self.caretPos + direction);\n\n\t\t}\n\n\t});\n\n};\n"],"names":["iterate","object","callback","Array","isArray","forEach","key","hasOwnProperty","removeClasses","elmts","classes","norm_classes","classesArray","castAsArray","map","el","cls","classList","remove","args","_classes","trim","split","concat","filter","Boolean","arg","nodeIndex","amongst","nodeName","i","previousElementSibling","matches","self","hook","new_pos","settings","mode","control","contains","control_input","items","length","Math","max","min","caretPos","isPending","controlChildren","child","j","insertAdjacentElement","appendChild","direction","isFocused","last_active","getLastActive","idx","setCaret","setActiveItem"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tom Select v2.4.3
2
+ * Tom Select v2.4.5
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"change_listener.js","sources":["../../../src/utils.ts","../../../src/plugins/change_listener/plugin.ts"],"sourcesContent":["\nimport type TomSelect from './tom-select.ts';\nimport { TomLoadCallback } from './types/index.ts';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * use setTimeout if timeout > 0 \n */\nexport const timeout = (fn:()=>void,timeout:number): number | null => {\n\tif( timeout > 0 ){\n\t\treturn window.setTimeout(fn,timeout);\n\t}\n\n\tfn.call(null);\n\treturn null;\n}\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n * Note: \"selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password\"\n * \t- https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n\n/**\n * Iterates over arrays and hashes.\n *\n * ```\n * iterate(this.items, function(item, id) {\n * // invoked for each item\n * });\n * ```\n *\n */\nexport const iterate = (object:[]|{[key:string]:any}, callback:(value:any,key:any)=>any) => {\n\n\tif ( Array.isArray(object)) {\n\t\tobject.forEach(callback);\n\n\t}else{\n\n\t\tfor (var key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\tcallback(object[key], key);\n\t\t\t}\n\t\t}\n\t}\n};\n","/**\n * Plugin: \"change_listener\" (Tom Select)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport type TomSelect from '../../tom-select.ts';\nimport { addEvent } from '../../utils.ts';\n\nexport default function(this:TomSelect) {\n\taddEvent(this.input,'change',()=>{\n\t\tthis.sync();\n\t});\n};\n"],"names":["addEvent","target","type","callback","options","addEventListener","input","sync"],"mappings":";;;;;;;;;;;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;CA2HA;CACA;CACA;CACA;CACO,MAAMA,QAAQ,GAAGA,CAACC,MAAkB,EAAEC,IAAW,EAAEC,QAA2C,EAAEC,OAAe,KAAU;GAC/HH,MAAM,CAACI,gBAAgB,CAACH,IAAI,EAACC,QAAQ,EAACC,OAAO,CAAC;CAC/C,CAAC;;CCnJD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;CAKe,eAAyB,IAAA;CACvCJ,EAAAA,QAAQ,CAAC,IAAI,CAACM,KAAK,EAAC,QAAQ,EAAC,MAAI;KAChC,IAAI,CAACC,IAAI,EAAE;CACZ,GAAC,CAAC;CACH;;;;;;;;"}
1
+ {"version":3,"file":"change_listener.js","sources":["../../../src/utils.ts","../../../src/plugins/change_listener/plugin.ts"],"sourcesContent":["\nimport type TomSelect from './tom-select.ts';\nimport { TomLoadCallback } from './types/index.ts';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * use setTimeout if timeout > 0 \n */\nexport const timeout = (fn:()=>void,timeout:number): number | null => {\n\tif( timeout > 0 ){\n\t\treturn window.setTimeout(fn,timeout);\n\t}\n\n\tfn.call(null);\n\treturn null;\n}\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n * Note: \"selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password\"\n * \t- https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n\n/**\n * Iterates over arrays and hashes.\n *\n * ```\n * iterate(this.items, function(item, id) {\n * // invoked for each item\n * });\n * ```\n *\n */\nexport const iterate = (object:[]|{[key:string]:any}, callback:(value:any,key:any)=>any) => {\n\n\tif ( Array.isArray(object)) {\n\t\tobject.forEach(callback);\n\n\t}else{\n\n\t\tfor (var key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\tcallback(object[key], key);\n\t\t\t}\n\t\t}\n\t}\n};\n","/**\n * Plugin: \"change_listener\" (Tom Select)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport type TomSelect from '../../tom-select.ts';\nimport { addEvent } from '../../utils.ts';\n\nexport default function(this:TomSelect) {\n\taddEvent(this.input,'change',()=>{\n\t\tthis.sync();\n\t});\n};\n"],"names":["addEvent","target","type","callback","options","addEventListener","input","sync"],"mappings":";;;;;;;;;;;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;CA2HA;CACA;CACA;CACA;CACO,MAAMA,QAAQ,GAAGA,CAACC,MAAkB,EAAEC,IAAW,EAAEC,QAA2C,EAAEC,OAAe,KAAU;GAC/HH,MAAM,CAACI,gBAAgB,CAACH,IAAI,EAACC,QAAQ,EAACC,OAAO,CAAC;CAC/C,CAAC;;CCnJD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;CAKe,eAAA,IAAyB;CACvCJ,EAAAA,QAAQ,CAAC,IAAI,CAACM,KAAK,EAAC,QAAQ,EAAC,MAAI;KAChC,IAAI,CAACC,IAAI,EAAE;CACZ,EAAA,CAAC,CAAC;CACH;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tom Select v2.4.3
2
+ * Tom Select v2.4.5
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox_options.js","sources":["../../../src/utils.ts","../../../src/vanilla.ts","../../../src/plugins/checkbox_options/plugin.ts"],"sourcesContent":["\nimport type TomSelect from './tom-select.ts';\nimport { TomLoadCallback } from './types/index.ts';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * use setTimeout if timeout > 0 \n */\nexport const timeout = (fn:()=>void,timeout:number): number | null => {\n\tif( timeout > 0 ){\n\t\treturn window.setTimeout(fn,timeout);\n\t}\n\n\tfn.call(null);\n\treturn null;\n}\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n * Note: \"selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password\"\n * \t- https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n\n/**\n * Iterates over arrays and hashes.\n *\n * ```\n * iterate(this.items, function(item, id) {\n * // invoked for each item\n * });\n * ```\n *\n */\nexport const iterate = (object:[]|{[key:string]:any}, callback:(value:any,key:any)=>any) => {\n\n\tif ( Array.isArray(object)) {\n\t\tobject.forEach(callback);\n\n\t}else{\n\n\t\tfor (var key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\tcallback(object[key], key);\n\t\t\t}\n\t\t}\n\t}\n};\n","\nimport { iterate } from './utils.ts';\n\n/**\n * Return a dom element from either a dom query string, jQuery object, a dom element or html string\n * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518\n *\n * param query should be {}\n */\nexport const getDom = ( query:any ):HTMLElement => {\n\n\tif( query.jquery ){\n\t\treturn query[0];\n\t}\n\n\tif( query instanceof HTMLElement ){\n\t\treturn query;\n\t}\n\n\tif( isHtmlString(query) ){\n\t\tvar tpl = document.createElement('template');\n\t\ttpl.innerHTML = query.trim(); // Never return a text node of whitespace as the result\n\t\treturn tpl.content.firstChild as HTMLElement;\n\t}\n\n\treturn document.querySelector(query);\n};\n\nexport const isHtmlString = (arg:any): boolean => {\n\tif( typeof arg === 'string' && arg.indexOf('<') > -1 ){\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport const escapeQuery = (query:string):string => {\n\treturn query.replace(/['\"\\\\]/g, '\\\\$&');\n}\n\n/**\n * Dispatch an event\n *\n */\nexport const triggerEvent = ( dom_el:HTMLElement, event_name:string ):void => {\n\tvar event = document.createEvent('HTMLEvents');\n\tevent.initEvent(event_name, true, false);\n\tdom_el.dispatchEvent(event)\n};\n\n/**\n * Apply CSS rules to a dom element\n *\n */\nexport const applyCSS = ( dom_el:HTMLElement, css:{ [key: string]: string|number }):void => {\n\tObject.assign(dom_el.style, css);\n}\n\n\n/**\n * Add css classes\n *\n */\nexport const addClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n\tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map( cls => {\n\t\t\tel.classList.add( cls );\n\t\t});\n\t});\n}\n\n/**\n * Remove css classes\n *\n */\n export const removeClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n \tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map(cls => {\n\t \t\tel.classList.remove( cls );\n\t\t});\n \t});\n }\n\n\n/**\n * Return arguments\n *\n */\nexport const classesArray = (args:string[]|string[][]):string[] => {\n\tvar classes:string[] = [];\n\titerate( args, (_classes) =>{\n\t\tif( typeof _classes === 'string' ){\n\t\t\t_classes = _classes.trim().split(/[\\t\\n\\f\\r\\s]/);\n\t\t}\n\t\tif( Array.isArray(_classes) ){\n\t\t\tclasses = classes.concat(_classes);\n\t\t}\n\t});\n\n\treturn classes.filter(Boolean);\n}\n\n\n/**\n * Create an array from arg if it's not already an array\n *\n */\nexport const castAsArray = (arg:any):Array<any> => {\n\tif( !Array.isArray(arg) ){\n \t\targ = [arg];\n \t}\n\treturn arg;\n}\n\n\n/**\n * Get the closest node to the evt.target matching the selector\n * Stops at wrapper\n *\n */\nexport const parentMatch = ( target:null|HTMLElement, selector:string, wrapper?:HTMLElement ):HTMLElement|void => {\n\n\tif( wrapper && !wrapper.contains(target) ){\n\t\treturn;\n\t}\n\n\twhile( target && target.matches ){\n\n\t\tif( target.matches(selector) ){\n\t\t\treturn target;\n\t\t}\n\n\t\ttarget = target.parentNode as HTMLElement;\n\t}\n}\n\n\n/**\n * Get the first or last item from an array\n *\n * > 0 - right (last)\n * <= 0 - left (first)\n *\n */\nexport const getTail = ( list:Array<any>|NodeList, direction:number=0 ):any => {\n\n\tif( direction > 0 ){\n\t\treturn list[list.length-1];\n\t}\n\n\treturn list[0];\n}\n\n/**\n * Return true if an object is empty\n *\n */\nexport const isEmptyObject = (obj:object):boolean => {\n\treturn (Object.keys(obj).length === 0);\n}\n\n\n/**\n * Get the index of an element amongst sibling nodes of the same type\n *\n */\nexport const nodeIndex = ( el:null|Element, amongst?:string ):number => {\n\tif (!el) return -1;\n\n\tamongst = amongst || el.nodeName;\n\n\tvar i = 0;\n\twhile( el = el.previousElementSibling ){\n\n\t\tif( el.matches(amongst) ){\n\t\t\ti++;\n\t\t}\n\t}\n\treturn i;\n}\n\n\n/**\n * Set attributes of an element\n *\n */\nexport const setAttr = (el:Element,attrs:{ [key: string]: null|string|number }) => {\n\titerate( attrs,(val,attr) => {\n\t\tif( val == null ){\n\t\t\tel.removeAttribute(attr as string);\n\t\t}else{\n\t\t\tel.setAttribute(attr as string, ''+val);\n\t\t}\n\t});\n}\n\n\n/**\n * Replace a node\n */\nexport const replaceNode = ( existing:Node, replacement:Node ) => {\n\tif( existing.parentNode ) existing.parentNode.replaceChild(replacement, existing);\n}\n","/**\n * Plugin: \"checkbox_options\" (Tom Select)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport type TomSelect from '../../tom-select.ts';\nimport { TomTemplate } from '../../types/index.ts';\nimport { preventDefault, hash_key } from '../../utils.ts';\nimport { getDom } from '../../vanilla.ts';\nimport { CBOptions } from './types.ts';\n\n\nexport default function(this:TomSelect, userOptions:CBOptions) {\n\tvar self = this;\n\tvar orig_onOptionSelect = self.onOptionSelect;\n\n\tself.settings.hideSelected = false;\n\n\tconst cbOptions : CBOptions = Object.assign({\n\t\t// so that the user may add different ones as well\n\t\tclassName : \"tomselect-checkbox\",\n\n\t\t// the following default to the historic plugin's values\n\t\tcheckedClassNames : undefined,\n\t\tuncheckedClassNames : undefined,\n\t}, userOptions);\n\n\n\tvar UpdateChecked = function(checkbox:HTMLInputElement, toCheck : boolean) {\n\t\tif( toCheck ){\n\t\t\tcheckbox.checked = true;\n\t\t\tif (cbOptions.uncheckedClassNames) {\n\t\t\t\tcheckbox.classList.remove(...cbOptions.uncheckedClassNames);\n\t\t\t}\n\t\t\tif (cbOptions.checkedClassNames) {\n\t\t\t\tcheckbox.classList.add(...cbOptions.checkedClassNames);\n\t\t\t}\n\t\t}else{\n\t\t\tcheckbox.checked = false;\n\t\t\tif (cbOptions.checkedClassNames) {\n\t\t\t\tcheckbox.classList.remove(...cbOptions.checkedClassNames);\n\t\t\t}\n\t\t\tif (cbOptions.uncheckedClassNames) {\n\t\t\t\tcheckbox.classList.add(...cbOptions.uncheckedClassNames);\n\t\t\t}\n\t\t}\n\t}\n\n\t// update the checkbox for an option\n\tvar UpdateCheckbox = function(option:HTMLElement){\n\t\tsetTimeout(()=>{\n\t\t\tvar checkbox = option.querySelector('input.' + cbOptions.className);\n\t\t\tif( checkbox instanceof HTMLInputElement ){\n\t\t\t\tUpdateChecked(checkbox, option.classList.contains('selected'));\n\t\t\t}\n\t\t},1);\n\t};\n\n\t// add checkbox to option template\n\tself.hook('after','setupTemplates',() => {\n\n\t\tvar orig_render_option = self.settings.render.option;\n\n\t\tself.settings.render.option = ((data, escape_html) => {\n\t\t\tvar rendered = getDom(orig_render_option.call(self, data, escape_html));\n\t\t\tvar checkbox = document.createElement('input');\n\t\t\tif (cbOptions.className) {\n\t\t\t\tcheckbox.classList.add(cbOptions.className);\n\t\t\t}\n\t\t\tcheckbox.addEventListener('click',function(evt){\n\t\t\t\tpreventDefault(evt);\n\t\t\t});\n\n\t\t\tcheckbox.type = 'checkbox';\n\t\t\tconst hashed = hash_key(data[self.settings.valueField]);\n\n\t\t\tUpdateChecked(checkbox, !!(hashed && self.items.indexOf(hashed) > -1) );\n\n\t\t\trendered.prepend(checkbox);\n\t\t\treturn rendered;\n\t\t}) satisfies TomTemplate;\n\t});\n\n\t// uncheck when item removed\n\tself.on('item_remove',(value:string) => {\n\t\tvar option = self.getOption(value);\n\n\t\tif( option ){ // if dropdown hasn't been opened yet, the option won't exist\n\t\t\toption.classList.remove('selected'); // selected class won't be removed yet\n\t\t\tUpdateCheckbox(option);\n\t\t}\n\t});\n\n\t// check when item added\n\tself.on('item_add',(value:string) => {\n\t\tvar option = self.getOption(value);\n\n\t\tif( option ){ // if dropdown hasn't been opened yet, the option won't exist\n\t\t\tUpdateCheckbox(option);\n\t\t}\n\t});\n\n\n\t// remove items when selected option is clicked\n\tself.hook('instead','onOptionSelect',( evt:KeyboardEvent, option:HTMLElement )=>{\n\n\t\tif( option.classList.contains('selected') ){\n\t\t\toption.classList.remove('selected')\n\t\t\tself.removeItem(option.dataset.value);\n\t\t\tself.refreshOptions();\n\t\t\tpreventDefault(evt,true);\n\t\t\treturn;\n }\n\n\t\torig_onOptionSelect.call(self, evt, option);\n\n\t\tUpdateCheckbox(option);\n\t});\n\n};\n"],"names":["hash_key","value","get_hash","preventDefault","evt","stop","stopPropagation","getDom","query","jquery","HTMLElement","isHtmlString","tpl","document","createElement","innerHTML","trim","content","firstChild","querySelector","arg","indexOf","userOptions","self","orig_onOptionSelect","onOptionSelect","settings","hideSelected","cbOptions","Object","assign","className","checkedClassNames","undefined","uncheckedClassNames","UpdateChecked","checkbox","toCheck","checked","classList","remove","add","UpdateCheckbox","option","setTimeout","HTMLInputElement","contains","hook","orig_render_option","render","data","escape_html","rendered","call","addEventListener","type","hashed","valueField","items","prepend","on","getOption","removeItem","dataset","refreshOptions"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox_options.js","sources":["../../../src/utils.ts","../../../src/vanilla.ts","../../../src/plugins/checkbox_options/plugin.ts"],"sourcesContent":["\nimport type TomSelect from './tom-select.ts';\nimport { TomLoadCallback } from './types/index.ts';\n\n\n/**\n * Converts a scalar to its best string representation\n * for hash keys and HTML attribute values.\n *\n * Transformations:\n * 'str' -> 'str'\n * null -> ''\n * undefined -> ''\n * true -> '1'\n * false -> '0'\n * 0 -> '0'\n * 1 -> '1'\n *\n */\nexport const hash_key = (value:undefined|null|boolean|string|number):string|null => {\n\tif (typeof value === 'undefined' || value === null) return null;\n\treturn get_hash(value);\n};\n\nexport const get_hash = (value:boolean|string|number):string => {\n\tif (typeof value === 'boolean') return value ? '1' : '0';\n\treturn value + '';\n};\n\n/**\n * Escapes a string for use within HTML.\n *\n */\nexport const escape_html = (str:string):string => {\n\treturn (str + '')\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n};\n\n\n/**\n * use setTimeout if timeout > 0 \n */\nexport const timeout = (fn:()=>void,timeout:number): number | null => {\n\tif( timeout > 0 ){\n\t\treturn window.setTimeout(fn,timeout);\n\t}\n\n\tfn.call(null);\n\treturn null;\n}\n\n/**\n * Debounce the user provided load function\n *\n */\nexport const loadDebounce = (fn:(value:string,callback:TomLoadCallback) => void,delay:number) => {\n\tvar timeout: null|ReturnType<typeof setTimeout>;\n\treturn function(this:TomSelect, value:string,callback:TomLoadCallback) {\n\t\tvar self = this;\n\n\t\tif( timeout ){\n\t\t\tself.loading = Math.max(self.loading - 1, 0);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t\tself.loadedSearches[value] = true;\n\t\t\tfn.call(self, value, callback);\n\n\t\t}, delay);\n\t};\n};\n\n\n/**\n * Debounce all fired events types listed in `types`\n * while executing the provided `fn`.\n *\n */\nexport const debounce_events = ( self:TomSelect, types:string[], fn:() => void ) => {\n\tvar type:string;\n\tvar trigger = self.trigger;\n\tvar event_args:{ [key: string]: any } = {};\n\n\t// override trigger method\n\tself.trigger = function(){\n\t\tvar type = arguments[0];\n\t\tif (types.indexOf(type) !== -1) {\n\t\t\tevent_args[type] = arguments;\n\t\t} else {\n\t\t\treturn trigger.apply(self, arguments);\n\t\t}\n\t};\n\n\t// invoke provided function\n\tfn.apply(self, []);\n\tself.trigger = trigger;\n\n\t// trigger queued events\n\tfor( type of types ){\n\t\tif( type in event_args ){\n\t\t\ttrigger.apply(self, event_args[type]);\n\t\t}\n\t}\n};\n\n\n/**\n * Determines the current selection within a text input control.\n * Returns an object containing:\n * - start\n * - length\n *\n * Note: \"selectionStart, selectionEnd ... apply only to inputs of types text, search, URL, tel and password\"\n * \t- https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n */\nexport const getSelection = (input:HTMLInputElement):{ start: number; length: number } => {\n\treturn {\n\t\tstart\t: input.selectionStart || 0,\n\t\tlength\t: (input.selectionEnd||0) - (input.selectionStart||0),\n\t};\n};\n\n\n/**\n * Prevent default\n *\n */\nexport const preventDefault = (evt?:Event, stop:boolean=false):void => {\n\tif( evt ){\n\t\tevt.preventDefault();\n\t\tif( stop ){\n\t\t\tevt.stopPropagation();\n\t\t}\n\t}\n}\n\n\n/**\n * Add event helper\n *\n */\nexport const addEvent = (target:EventTarget, type:string, callback:EventListenerOrEventListenerObject, options?:object):void => {\n\ttarget.addEventListener(type,callback,options);\n};\n\n\n/**\n * Return true if the requested key is down\n * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n * The current evt may not always set ( eg calling advanceSelection() )\n *\n */\nexport const isKeyDown = ( key_name:keyof (KeyboardEvent|MouseEvent), evt?:KeyboardEvent|MouseEvent ) => {\n\n\tif( !evt ){\n\t\treturn false;\n\t}\n\n\tif( !evt[key_name] ){\n\t\treturn false;\n\t}\n\n\tvar count = (evt.altKey?1:0) + (evt.ctrlKey?1:0) + (evt.shiftKey?1:0) + (evt.metaKey?1:0);\n\n\tif( count === 1 ){\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Get the id of an element\n * If the id attribute is not set, set the attribute with the given id\n *\n */\nexport const getId = (el:Element,id:string) => {\n\tconst existing_id = el.getAttribute('id');\n\tif( existing_id ){\n\t\treturn existing_id;\n\t}\n\n\tel.setAttribute('id',id);\n\treturn id;\n};\n\n\n/**\n * Returns a string with backslashes added before characters that need to be escaped.\n */\nexport const addSlashes = (str:string):string => {\n\treturn str.replace(/[\\\\\"']/g, '\\\\$&');\n};\n\n/**\n *\n */\nexport const append = ( parent:Element|DocumentFragment, node: string|Node|null|undefined ):void =>{\n\tif( node ) parent.append(node);\n};\n\n/**\n * Iterates over arrays and hashes.\n *\n * ```\n * iterate(this.items, function(item, id) {\n * // invoked for each item\n * });\n * ```\n *\n */\nexport const iterate = (object:[]|{[key:string]:any}, callback:(value:any,key:any)=>any) => {\n\n\tif ( Array.isArray(object)) {\n\t\tobject.forEach(callback);\n\n\t}else{\n\n\t\tfor (var key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\tcallback(object[key], key);\n\t\t\t}\n\t\t}\n\t}\n};\n","\nimport { iterate } from './utils.ts';\n\n/**\n * Return a dom element from either a dom query string, jQuery object, a dom element or html string\n * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518\n *\n * param query should be {}\n */\nexport const getDom = ( query:any ):HTMLElement => {\n\n\tif( query.jquery ){\n\t\treturn query[0];\n\t}\n\n\tif( query instanceof HTMLElement ){\n\t\treturn query;\n\t}\n\n\tif( isHtmlString(query) ){\n\t\tvar tpl = document.createElement('template');\n\t\ttpl.innerHTML = query.trim(); // Never return a text node of whitespace as the result\n\t\treturn tpl.content.firstChild as HTMLElement;\n\t}\n\n\treturn document.querySelector(query);\n};\n\nexport const isHtmlString = (arg:any): boolean => {\n\tif( typeof arg === 'string' && arg.indexOf('<') > -1 ){\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport const escapeQuery = (query:string):string => {\n\treturn query.replace(/['\"\\\\]/g, '\\\\$&');\n}\n\n/**\n * Dispatch an event\n *\n */\nexport const triggerEvent = ( dom_el:HTMLElement, event_name:string ):void => {\n\tvar event = document.createEvent('HTMLEvents');\n\tevent.initEvent(event_name, true, false);\n\tdom_el.dispatchEvent(event)\n};\n\n/**\n * Apply CSS rules to a dom element\n *\n */\nexport const applyCSS = ( dom_el:HTMLElement, css:{ [key: string]: string|number }):void => {\n\tObject.assign(dom_el.style, css);\n}\n\n\n/**\n * Add css classes\n *\n */\nexport const addClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n\tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map( cls => {\n\t\t\tel.classList.add( cls );\n\t\t});\n\t});\n}\n\n/**\n * Remove css classes\n *\n */\n export const removeClasses = ( elmts:HTMLElement|HTMLElement[], ...classes:string[]|string[][] ) => {\n\n \tvar norm_classes \t= classesArray(classes);\n\telmts\t\t\t\t= castAsArray(elmts);\n\n\telmts.map( el => {\n\t\tnorm_classes.map(cls => {\n\t \t\tel.classList.remove( cls );\n\t\t});\n \t});\n }\n\n\n/**\n * Return arguments\n *\n */\nexport const classesArray = (args:string[]|string[][]):string[] => {\n\tvar classes:string[] = [];\n\titerate( args, (_classes) =>{\n\t\tif( typeof _classes === 'string' ){\n\t\t\t_classes = _classes.trim().split(/[\\t\\n\\f\\r\\s]/);\n\t\t}\n\t\tif( Array.isArray(_classes) ){\n\t\t\tclasses = classes.concat(_classes);\n\t\t}\n\t});\n\n\treturn classes.filter(Boolean);\n}\n\n\n/**\n * Create an array from arg if it's not already an array\n *\n */\nexport const castAsArray = (arg:any):Array<any> => {\n\tif( !Array.isArray(arg) ){\n \t\targ = [arg];\n \t}\n\treturn arg;\n}\n\n\n/**\n * Get the closest node to the evt.target matching the selector\n * Stops at wrapper\n *\n */\nexport const parentMatch = ( target:null|HTMLElement, selector:string, wrapper?:HTMLElement ):HTMLElement|void => {\n\n\tif( wrapper && !wrapper.contains(target) ){\n\t\treturn;\n\t}\n\n\twhile( target && target.matches ){\n\n\t\tif( target.matches(selector) ){\n\t\t\treturn target;\n\t\t}\n\n\t\ttarget = target.parentNode as HTMLElement;\n\t}\n}\n\n\n/**\n * Get the first or last item from an array\n *\n * > 0 - right (last)\n * <= 0 - left (first)\n *\n */\nexport const getTail = ( list:Array<any>|NodeList, direction:number=0 ):any => {\n\n\tif( direction > 0 ){\n\t\treturn list[list.length-1];\n\t}\n\n\treturn list[0];\n}\n\n/**\n * Return true if an object is empty\n *\n */\nexport const isEmptyObject = (obj:object):boolean => {\n\treturn (Object.keys(obj).length === 0);\n}\n\n\n/**\n * Get the index of an element amongst sibling nodes of the same type\n *\n */\nexport const nodeIndex = ( el:null|Element, amongst?:string ):number => {\n\tif (!el) return -1;\n\n\tamongst = amongst || el.nodeName;\n\n\tvar i = 0;\n\twhile( el = el.previousElementSibling ){\n\n\t\tif( el.matches(amongst) ){\n\t\t\ti++;\n\t\t}\n\t}\n\treturn i;\n}\n\n\n/**\n * Set attributes of an element\n *\n */\nexport const setAttr = (el:Element,attrs:{ [key: string]: null|string|number }) => {\n\titerate( attrs,(val,attr) => {\n\t\tif( val == null ){\n\t\t\tel.removeAttribute(attr as string);\n\t\t}else{\n\t\t\tel.setAttribute(attr as string, ''+val);\n\t\t}\n\t});\n}\n\n\n/**\n * Replace a node\n */\nexport const replaceNode = ( existing:Node, replacement:Node ) => {\n\tif( existing.parentNode ) existing.parentNode.replaceChild(replacement, existing);\n}\n","/**\n * Plugin: \"checkbox_options\" (Tom Select)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport type TomSelect from '../../tom-select.ts';\nimport { TomTemplate } from '../../types/index.ts';\nimport { preventDefault, hash_key } from '../../utils.ts';\nimport { getDom } from '../../vanilla.ts';\nimport { CBOptions } from './types.ts';\n\n\nexport default function(this:TomSelect, userOptions:CBOptions) {\n\tvar self = this;\n\tvar orig_onOptionSelect = self.onOptionSelect;\n\n\tself.settings.hideSelected = false;\n\n\tconst cbOptions : CBOptions = Object.assign({\n\t\t// so that the user may add different ones as well\n\t\tclassName : \"tomselect-checkbox\",\n\n\t\t// the following default to the historic plugin's values\n\t\tcheckedClassNames : undefined,\n\t\tuncheckedClassNames : undefined,\n\t}, userOptions);\n\n\n\tvar UpdateChecked = function(checkbox:HTMLInputElement, toCheck : boolean) {\n\t\tif( toCheck ){\n\t\t\tcheckbox.checked = true;\n\t\t\tif (cbOptions.uncheckedClassNames) {\n\t\t\t\tcheckbox.classList.remove(...cbOptions.uncheckedClassNames);\n\t\t\t}\n\t\t\tif (cbOptions.checkedClassNames) {\n\t\t\t\tcheckbox.classList.add(...cbOptions.checkedClassNames);\n\t\t\t}\n\t\t}else{\n\t\t\tcheckbox.checked = false;\n\t\t\tif (cbOptions.checkedClassNames) {\n\t\t\t\tcheckbox.classList.remove(...cbOptions.checkedClassNames);\n\t\t\t}\n\t\t\tif (cbOptions.uncheckedClassNames) {\n\t\t\t\tcheckbox.classList.add(...cbOptions.uncheckedClassNames);\n\t\t\t}\n\t\t}\n\t}\n\n\t// update the checkbox for an option\n\tvar UpdateCheckbox = function(option:HTMLElement){\n\t\tsetTimeout(()=>{\n\t\t\tvar checkbox = option.querySelector('input.' + cbOptions.className);\n\t\t\tif( checkbox instanceof HTMLInputElement ){\n\t\t\t\tUpdateChecked(checkbox, option.classList.contains('selected'));\n\t\t\t}\n\t\t},1);\n\t};\n\n\t// add checkbox to option template\n\tself.hook('after','setupTemplates',() => {\n\n\t\tvar orig_render_option = self.settings.render.option;\n\n\t\tself.settings.render.option = ((data, escape_html) => {\n\t\t\tvar rendered = getDom(orig_render_option.call(self, data, escape_html));\n\t\t\tvar checkbox = document.createElement('input');\n\t\t\tif (cbOptions.className) {\n\t\t\t\tcheckbox.classList.add(cbOptions.className);\n\t\t\t}\n\t\t\tcheckbox.addEventListener('click',function(evt){\n\t\t\t\tpreventDefault(evt);\n\t\t\t});\n\n\t\t\tcheckbox.type = 'checkbox';\n\t\t\tconst hashed = hash_key(data[self.settings.valueField]);\n\n\t\t\tUpdateChecked(checkbox, !!(hashed && self.items.indexOf(hashed) > -1) );\n\n\t\t\trendered.prepend(checkbox);\n\t\t\treturn rendered;\n\t\t}) satisfies TomTemplate;\n\t});\n\n\t// uncheck when item removed\n\tself.on('item_remove',(value:string) => {\n\t\tvar option = self.getOption(value);\n\n\t\tif( option ){ // if dropdown hasn't been opened yet, the option won't exist\n\t\t\toption.classList.remove('selected'); // selected class won't be removed yet\n\t\t\tUpdateCheckbox(option);\n\t\t}\n\t});\n\n\t// check when item added\n\tself.on('item_add',(value:string) => {\n\t\tvar option = self.getOption(value);\n\n\t\tif( option ){ // if dropdown hasn't been opened yet, the option won't exist\n\t\t\tUpdateCheckbox(option);\n\t\t}\n\t});\n\n\n\t// remove items when selected option is clicked\n\tself.hook('instead','onOptionSelect',( evt:KeyboardEvent, option:HTMLElement )=>{\n\n\t\tif( option.classList.contains('selected') ){\n\t\t\toption.classList.remove('selected')\n\t\t\tself.removeItem(option.dataset.value);\n\t\t\tself.refreshOptions();\n\t\t\tpreventDefault(evt,true);\n\t\t\treturn;\n }\n\n\t\torig_onOptionSelect.call(self, evt, option);\n\n\t\tUpdateCheckbox(option);\n\t});\n\n};\n"],"names":["hash_key","value","get_hash","preventDefault","evt","stop","stopPropagation","getDom","query","jquery","HTMLElement","isHtmlString","tpl","document","createElement","innerHTML","trim","content","firstChild","querySelector","arg","indexOf","userOptions","self","orig_onOptionSelect","onOptionSelect","settings","hideSelected","cbOptions","Object","assign","className","checkedClassNames","undefined","uncheckedClassNames","UpdateChecked","checkbox","toCheck","checked","classList","remove","add","UpdateCheckbox","option","setTimeout","HTMLInputElement","contains","hook","orig_render_option","render","data","escape_html","rendered","call","addEventListener","type","hashed","valueField","items","prepend","on","getOption","removeItem","dataset","refreshOptions"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tom Select v2.4.3
2
+ * Tom Select v2.4.5
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
@@ -56,8 +56,10 @@
56
56
  const options = Object.assign({
57
57
  className: 'clear-button',
58
58
  title: 'Clear All',
59
+ role: 'button',
60
+ tabindex: 0,
59
61
  html: data => {
60
- return `<div class="${data.className}" title="${data.title}">&#10799;</div>`;
62
+ return `<div class="${data.className}" title="${data.title}" role="${data.role}" tabindex="${data.tabindex}">&times;</div>`;
61
63
  }
62
64
  }, userOptions);
63
65
  self.on('initialize', () => {